jQuery根据复选框状态进行验证

时间:2013-03-08 20:12:45

标签: jquery jquery-validate

我在一个使用jquery validate.js的表单中有三个字段:

<input type="text" id="StartDate" name="StartDate"><br />
<input type="text" id="EndDate" name="EndDate"><br />
<label for="AllDate"><input type="checkbox" name="AllDate" id="AllDate">All Dates</label>

我需要在提交时需要#StartDate UNLESS #AllDate被选中。如果选中#AllDate,则不需要#StartDate

尝试失败

rules: {
        StartDate: {
            required: {
                depends: function(element) {
                    return (! $("input[type='checkbox']:checked"))
                }
            }
        }
    }

我也没有运气创建自定义验证规则。寻找更好的方法,一个有效!总是感谢帮助。

2 个答案:

答案 0 :(得分:4)

试试这个:

return !$("#AllDate").is(':checked');

答案 1 :(得分:0)

这是一个适合您的自定义

if(($("#AllDate").is(':checked')) == true ){
    //Do what you want when all dates are checked

} elseif (($("#StartDate").val()) != "") {
    //Do what you want with StartDate

} else {
    //You have to enter a date

}

即时打字,看看这有助于您或给您一个基本想法