0

我有一系列输入和选择以 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) );
    } );

任何帮助表示赞赏。

4

1 回答 1

2

您可以同时选择输入和选择元素,并以此为基础获取索引:

 $("input, select", "tfoot").index(this)
于 2013-06-11T20:24:50.030 回答