2014-03-02 34 views
0

我有這個表結構。如何在表中設置隱藏的輸入值

<table id="my_table"> 
<tr class="odd" id="row_1"> 
    <td></td> 
    <td><input type="hidden" id="flight_1" value=""></td> 
</tr> 
<tr class="odd" id="row_2"> 
    <td></td> 
    <td><input type="hidden" id="flight_2" value=""></td> 
</tr> 
<tr class="odd" id="row_3"> 
    <td></td> 
    <td><input type="hidden" id="flight_3" value=""></td> 
</tr> 
<tr class="even" id="row_4"> 
    <td></td> 
    <td><input type="hidden" id="flight_4" value=""></td> 
</tr> 
<tr class="even" id="row_5"> 
<td></td> 
    <td><input type="hidden" id="flight_5" value=""></td> 
</tr> 
<tr class="even" id="row_6"> 
    <td></td> 
    <td><input type="hidden" id="flight_6" value=""></td> 
</tr> 

如何根據tr標記的類別爲每一行設置隱藏值的值。例如,我在表格中有9行,3行爲'odd','3'爲'even',後3行爲'odd'。這可以是動態的,因爲我可以有5類行在表中來回交替創建7行的'even'類,7行的'odd'類並返回到'even'等。我需要做什麼設置爲每個類的隱藏值最終爲'1'的第一個'奇怪'類,然後'2'爲下一個'偶'類等我試圖無果斷使用jQuery。我的jquery技能相當有限。這可能使用jQuery或有另一個solutuion?

回答

0

檢查當前類等於前一次的等級,並增加一個計數器

var i = 0; 

$('#my_table tr').each(function() { 
    if (this.className != ($(this).prev().length ? $(this).prev().get(0).className : '')) i++; 
    $(this).find('input').val(i); 
}); 

FIDDLE

+0

這種輸入類型是隱藏的,基於ID不是文字輸入。 – user3287677

+0

@ user3287677 - 這有什麼關係?我使輸入可見以查看結果,它與隱藏的輸入完全相同,並且ID如何相關? – adeneo

+0

是的,這對我有用,謝謝... – user3287677

相關問題