我有一个下拉选择器,其值从 1 到 4。根据选择,表单中的后续输入将被隐藏,并且每个输入所需的验证都会被删除。
例如,如果选择 2,则显示输入 1-2 并添加所需的验证,同时隐藏 3-4 并删除验证。
$("#dropdownSelector").change(function() {
inputtohide = $(this).val();
$('input[id*=conviction]').slice(0, inputtohide).show().rules("add", {required: "#convictions_0:checked" });
$('input[id*=conviction]').slice(inputtohide, 4).hide().rules("remove", {required: "#convictions_0:checked" });
$("#thisform").validate();
});
这工作正常,however(如验证插件的文档所述)仅添加验证first返回元素。
我从其他帖子中了解到,以下代码应该为每个输入添加验证:-
$("#thisform").validate();
$("input[id*=conviction]").each(function() {
$(this).rules("add", {required: "#convictions_0:checked" });
});
我的问题我如何组合这两位代码?
非常感谢任何帮助,谢谢。
您只需要使用.each()
功能在你的.slice()
result 以便迭代它返回的所有元素:
$('input[id*=conviction]').slice(0, inputtohide).each(function(){
$(this).show().rules("add", {required: "#convictions_0:checked" });
});
$('input[id*=conviction]').slice(inputtohide, 4).each(function(){
$(this).hide().rules("remove", {required: "#convictions_0:checked" });
});
希望这可以帮助 !
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)