1

如果未选中复选框,我正在尝试验证需要几个元素的表单。

现在,如果我提交表单,规则就会触发 - 然后我选中复选框 - 验证规则已经触发 - 即使现在选中了复选框 - 验证规则仍然适用,并且在我输入字段之前不会提交表单.

我希望复选框可以打开或关闭规则。非常感谢任何帮助。

var validator = $(".cmxform").validate({
                rules: {
                    txtAddress1: { 
                        required: function(){
                            $('#chkCurrentEmployer').attr('checked') !== "true"
                    } },
                    txtAddress2: {
                        required: function(){
                            $('#chkCurrentEmployer').attr('checked') !== "true"
                    } }
                }
            });
4

1 回答 1

2

使用required( dependency-expression )规则

var validator = $(".cmxform").validate({
  rules: {
    txtAddress1: {
      required: "#chkCurrentEmployer:checked"
    },
    txtAddress2: {
      required: '#chkCurrentEmployer:checked'
    }
  }
});

此处的文档:http: //docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression

如果这些函数返回类似这样的内容,您的代码也可能有效

return $('#chkCurrentEmployer').attr('checked');
于 2010-02-01T15:39:45.867 回答