いくつかのフォームフィールド (チェックボックスを含む) と関連する (jquery) 検証ルールを動的に追加する Web サイトを開発しています。更新 (明確化): 一部の検証では、検証メソッドを動的に追加する必要があります (関連するフォームフィールドが作成された後)。この問題は、フィールドが必須かどうかを判断するための検証コードに関連しています。チェックボックスが設定されている場合、フィールドは必須です。追加された検証規則は、'minlength'、'maxlength'、'integer' の検証に関して機能しますが、'required' の検証に関しては機能しません。「必須」で検証するためのコードが機能しない理由を理解していると思いますが(listitemが原因で)、このコードを修正する方法がわかりません...
(このサイトとhttp://api.jquery.com/checked-selector/の関連トピックを見ました)
チェックボックス フォームフィールドを追加するための JavaScript コード要素 (listitemnr を増やして ...):
<input type="checkbox" id="check'+ listitem +'" name="productselection'+ listitem +'" value="' + this.productid[listitem] + '">
更新:チェックボックスをチェックするためのコードを含む検証メソッドを追加するコードがチェックされます:
if ($("#nrofparts"+listitem).length > 0) { //elements exists?
//console.log("added VAL: "+listitem);
$("#nrofparts"+listitem).rules("add", {
required: function(element) {return ($('#check'+listitem).is(':checked') );},
minlength: 1,
maxlength: 3,
integer:true,
}
); //$("#investmentfix"+currindex).rules add