2011-02-07 15 views
0
<table id="tb1" border="0" align="left" cellpadding="2" cellspacing="2" class="formTable" width="100%"> 
    <tbody> 
     <tr> 
     <th class="coltextleft" colspan=3> seats </th> 
     <th>Total Seat Count : <span id="seats">0</span></th> 
     <th>SALC <input name="txt1" type="text" id = "txt1"></th> 
     <th>Column name </th> <th> <input name="id_reset" type="button" id="id_reset" value="RESET" ></th>    
     </tr> 
     <tr> 
     <td>&nbsp;</td> 
     <td id="zxx"> Col1</td> 
     <td> Col2</td> 
     <td> Col3</td> 
     <td> COL4</td> 
     <td>COL5</td> 
     <td>COL6</td> 
     </tr> 
     <tr id ="rnum_$i"><td>$i</td> 
     <td><input type="text" id="id_seats$i" name="seats[]"/></td> 
     <td>HTML ELEMENT OF TYPE SELECT </td> 
     <td>HTML ELEMENT OF TYPE TEXT</td> 
     <td>HTML ELEMENT OF TYPE TEXT</td> 
     <td>HTML ELEMENT OF TYPE TEXT</td> 
     <td>HTML ELEMENT OF TYPE TEXT</td> 
     <tr> 
    </tbody> 
</table> 

上記のhtmlテーブルについては、私は5行あり、 "Addone row"ボタンを押してテーブルに新しい行を追加します。この非常に長いJqueryステートメントを計算する

var num = $('#id_seats1').parent().parent().parent().children().last().children().html()*1; 

上記のhtmlテーブルに対して上記のJquery文をどのように計算すればよいですか。このステートメントは、上記のhtmlテーブルにある の行数を出力します。あなたはこの文のステップ実行によって

var num = $('#id_seats1').parent().parent().parent().children().last().children().html()*1; 

をステップを示してくださいすることができ

+1

なぜ、行数を数えて、いいえを減算しないのですか。ヘッダー(この場合は2)として機能する行の数@Livinston; –

答えて

4
$('#id_seats1') 

これは<input id='id_seats1'>要素を選択助けてください。

.parent().parent().parent() 

これは次いでtbody要素trtdを選択します。

.children().last() 

これは、これが最後の行のすべてtd S

*1 

本のHTMLコンテンツを選択tr

.children().html() 

あるTBODY要素の最後の子を選択します最後の行(その行のセルのすべての内容を含む文字列)の内容を数値に変換します。

最初のセルがカウンター$i変数を含んでいるので、それはjQueryの文は、テーブル内の行数が、最後の要素の子供の内容を返しませんvar num

1

に割り当てられて巻き取る値であり、 htmlの数値に相当する。

してきたはずですテーブル内の行の合計数を見つけるためにjQueryのスニペット、

var num = $('#id_seats1').parent().parent().parent().children().length - 2; 

として最適化することができ、

var num = $('#id_seats1').closest('tbody').children().length - 2; 

しかし、理想的なソリューションは次のようになり、

var num = $('#tb1 > tbody > tr').length - 2; 
+0

;私は$( "#tbl1")attr( 'rows')のようないろいろなアイデアを持っています。length-2は "tbl1"の行数も示します。しかし、上記の利点を見て探しですか? – Someone

関連する問題