我的要求:
仅当选中同一行中的复选框时,才会验证输入文本!
$("[name='ck']").click(function () {
var text = $(this).parent().parent().find("[name='t']");
if ($(this).attr("checked") == "checked") {
text.addClass("required");
} else {
text.removeClass("required");
}
});
代码没问题!但是当我将规则更改为 {required:true,number:true,max:5}
时,它就不起作用了!
只会检查第一个复选框的输入文本是否有效! 单击第二个复选框时,将不验证相关的输入文本。
所以
addClass("{required:true,number:true,max:5}");
添加/删除验证规则的方法是否合法, 但为什么它只会工作一次!
答案 0 :(得分:0)
您可能希望使用depends
回调来动态选择是否需要该规则。
$(".selector").validate({
rules: {
contact: {
required: true,
email: {
depends: function(element) {
return $("#contactform_email:checked")
}
}
}
}
});