0

我想将 jquery validate 中的所需值从 false 更改为 true 并将 true 更改为 false。

如果 textbxox1 为空,我想设置 gobalvar=true 否则 gobalvar=false,

但在 jquery 中验证不改变值。它只记住真正的价值。

怎么解决 ?

PHP代码:

<form id="form1" name="form1"   method="post">
      <input type='text' id='textbox1' name='textbox1'/>
      <input type='text' id='textbox2' name='textbox2'/>
      <input type='submit' value='submit' id='save' name='save'/>
</form>

我的js

   var gobalvar=true;

    if($('#textbox1').val()==""){
        gobalvar=true;
    }else{
        gobalvar=false;
    }
    alert(gobalvar);
    $("#from1").validate({ 
    rules: {
        textbox2:{required:gobalvar}, 
               },
        messages: {
        textbox2:'required'
        }
});​
4

2 回答 2

0
if($('#textbox1').val()==""){
                   // ^------missing brackets
        gobalvar=true;
    }else{
        gobalvar=false;
    }

此外,您的表单 ID 与您的 jquery 选择器不同

    var gobalvar=true;

    if($('#textbox1').val()==""){
        gobalvar=true;
    }else{
        gobalvar=false;
    }

    $("#form1").validate({ 
      //^----different selector value
    rules: {
        textbox2:{required:gobalvar}, 
               },
        messages: { //missing semicolon
        textbox2:'required'
        }
});​

工作演示

更新 2

于 2012-11-01T03:50:55.427 回答
0

你能试试这个吗?

    var gobalvar=true;

    $("#form1").validate({
    rules: {
        textbox2:{required:(globalvar = ($("#textbox1").val().length == 0))},
               },
             message{textbox2:'required'}
});
于 2012-11-01T03:52:17.127 回答