我有一个包含动态项目数量的表单。因此表单可能如下所示:
输入ID =第1项: _____ 输入ID =备注1: _____
或有2个项目:
输入ID =第1项: _____ 输入ID =备注1: _____
输入ID =第2项: _____ 输入ID =备注2: _____
我想使用jquery验证来验证此表。我需要的规则是
我创建了以下脚本并将其放在我的jquery.validate()函数调用
下 for(i=0;i<=noItems;i++){
var itemId = '#NewItem'+ i;
var remarksId = '#Remarks'+ i;
$(itemId).rules('add', {
// Item is required if remarks are entered
required : {
depends: function(element){
return($(remarksId).val() > 0);
}
},
messages: {
required: "Please enter item"
}
});
$(remarksId).rules('add', {
// Remarks are required if item is entered
required :
{
depends: function(element){
return($(itemId).val() > 0);
}
},
messages: {
required: "Please enter remarks"
}
});
} //end for loop
如果表单中只有1个项目,则上述代码有效,规则可以双向运行。
但是包含2个项目的表单未通过验证,也没有检查任何规则。
我检查了控制台日志,调用表单ID的方法是正确的。不确定为什么它仅适用于1对,但如果有超过1对则不适用于任何一对。
真的很感激为什么这不起作用的一些见解。非常感谢!