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();
});
これは問題なく動作しますが、(検証プラグインのドキュメントに記載されているように) 検証は、返された最初の要素に対してのみ追加されます。
他の投稿から、次のコードが各入力に検証を追加する必要があることを理解しています:-
$("#thisform").validate();
$("input[id*=conviction]").each(function() {
$(this).rules("add", {required: "#convictions_0:checked" });
});
私の質問は、2 つのコードをどのように組み合わせるかです。どんな助けでも大歓迎です、ありがとう。