HTML形式で一連の入力と選択が混在しています。
<th><input type="text" id="bGroup" name="search_group" /></th>
<th><input type="text" id="bEvent" name="search_event" /></th>
<th><input type="text" id="bBenefactor" name="search_benefactor" /></th>
<th><select name="search_status" id="bStatus">
<option value=""></option>
<option value="RS">RS</option>
<option value="CAN">Cancelled</option>
<option value="ICR">ICR</option>
<option value="HLD">Holding</option>
<option value="DEN">Denied</option>
</select>
</th>
<th><input type="text" id="bGiving" name="search_giving" /></th>
JQuery 関数を使用してフォーム要素のインデックスを呼び出そうとしています。フォーム入力のみを使用し、次のように選択しない場合、これは正常に機能します。
$("tfoot input").keyup( function () {
/* Filter on the column (the index) of this element */
oTable.fnFilter( this.value, $("tfoot input").index(this) );
} );
両方のフォーム入力要素を使用する場合は、次のように手動でインデックスを割り当てる必要があります。
$("tfoot input#bGroup").keyup( function () {
/* Filter on the column (the index) of this element */
//alert($("tfoot input").index(this));
oTable.fnFilter( this.value, 1 );
} );
...
$("tfoot select#bStatus").on('change', function () {
/* Filter on the column (the index) of this element */
// alert($("tfoot select").parent().index(this));
oTable.fnFilter( this.value, 4 );
} );
これは私の利点ではありません。
私がやりたいのは、両方のフォーム要素にインデックスを付けて、行を手動で割り当てたり、一連の関数を記述したりする必要がないことです。フィールドセットを使用してみましたが、うまくいきませんでした。
$("tfoot fieldset").on('keyup change', function () {
/* Filter on the column (the index) of this element */
oTable.fnFilter( this.value, $("tfoot fieldset").index(this) );
} );
どんな助けでも大歓迎です。