当其中一个字段发生变化时,我在重新验证字段方面遇到了一些问题。 更具体地说,假设您必须处理任意数量的字段(用户可以添加新闻或删除现有字段),其总和不能超过100。
我现在正在做的是:
//This basically works on change of the input
$.validator.addMethod('inputBox', checkAmount, 'Value exceeds maximum quantity');
function checkAmount(value, element) {
if (sumAmounts() <= 100) {
return true;
}
return false;
}
以下是它的工作原理,我们假设我们有2个输入框: - 我把80分放在第一个 - 我把30分放在第二个 - 第二个变为红色并显示错误“超过最大数量的数量”&lt; - 对我来说很好! - 我按提交:两者都变成红色并显示错误&lt; - 对我来说很好! - 我编辑两个中的一个(它没有区别哪一个)来适应验证规则 - 编辑的一个变为有效,但另一个仍然显示错误(但我可以提交)&lt; - 这是问题所在!
当我更改其中一个并且它们的值的总和小于100时,我希望所有的框变为“有效”。
我尝试在checkAmount()函数中插入以下方法,然后返回true或false:$('inputBox')。validate()/。invalid(); / .change(); / $('form')。validate(); /甚至是$('inputBox')。focus();哪个有效,但经历了无限循环xD
有什么建议吗?
答案 0 :(得分:1)
它不起作用,因为它不是显示问题的当前框,而是具有相同验证规则的其他框
答案 1 :(得分:0)
您可以在每个输入框元素上添加css类,例如“inputclass”,并应用以下jQuery脚本。可能是它的工作..
$(function(){
$(".inputclass").change(function(){
$(this).validate();
});
});