一意の ID と名前を必要とする複数の入力を持つ行を動的に生成するテーブルがあります。これを処理するために jQuery バリデーターに submitHandler 関数を作成しましたが、次の 2 つの問題が発生しています。
- 私のテーブルには、JQuery が繰り返しに含めるヘッダー行があります
- 各行の入力タイプではなく、すべての入力タイプが各ループに割り当てられています。
これが私のコードです:
var accessorylist = document.getElementById("accessorybody");
var i = 1;
$("tr").each(function(){
var e = this;
$('select').attr({
'id': 'accessory' + i,
'name': 'accessory' + i
});
$('input[type=checkbox]').attr({
'id': 'accessoryrequired' + i,
'name': 'accessoryrequired' + i
});
$('input[type=text]').attr({
'id':'accessoryqty' + i,
'name': 'accessoryqty' + i
});
alert(e);
i++;
alert(i);
});
alert(accessorylist);
return false;
アラートと return false は、私にとって単なるデバッグ行です。回答番号 2 については、行 (e) だけに入力フォーカスを指定する必要があると確信していますが、うまくいかないことをいくつか試しましたが、少し困惑しています。ヘッダー行に関しては、thead タグでラップされています。「accessorybody」は、データ行のみを含む tbody タグであるため、ループにどのように、またはなぜ含まれているのかわかりません。