2017-02-07 8 views
0

これは、テーブルのページングのためのjQueryのです:それが必要として、それはTD /行を数え、TRの長さを考慮した以外誰かがテーブルのTRを数える方法を知っていますか?

$('document').ready(function(){ 
    function pagination(){ 
      var req_num_row=1; 
      var $tr=jQuery('tbody tr'); 
      var total_num_row=$tr.length; 
      var num_pages=0; 
      if(total_num_row % req_num_row ==0){ 
       num_pages=total_num_row/req_num_row; 
      } 
      if(total_num_row % req_num_row >=1){ 
       num_pages=total_num_row/req_num_row; 
       num_pages++; 
       num_pages=Math.floor(num_pages++); 
      } 
      for(var i=1; i<=num_pages; i++){ 
       jQuery('#pagination').append(" "+i+" "); 
      } 
      $tr.each(function(i){ 
       jQuery(this).hide(); 
       if(i+1 <= req_num_row){ 
        $tr.eq(i).show(); 
       } 

      }); 
      jQuery('#pagination a').click(function(e){ 
       e.preventDefault(); 
       $tr.hide(); 
       var page=jQuery(this).text(); 
       var temp=page-1; 
       var start=temp*req_num_row; 
       //alert(start); 

       for(var i=0; i< req_num_row; i++){ 

        $tr.eq(start+i).show(); 

       } 
      }); 
     } 
    jQuery('document').ready(function(){ 
     pagination(); 

    }); 

すべては、このページネーションで動作します。私が望むのは、td行ではなくtrブロックだけを数えることです。これは可能ですか?

+0

ない非常に明確あなたは尋ねるか、具体的にどのような問題があるしているもの。おそらくあなたが望むのは目に見える行だけでしょうか? – charlietfl

+0

とregexpを使用しますが、< and > charグローバルとマルチラインをエスケープします – Grisza

答えて

1
var rows = $('table tr').length 

これはうまくいくと思います。しかし、それはあなたがやっていることです。申し訳ありません、私は今見ました。

これは機能しませんか?

$('<p>$(\'table tr\').children().length = ' + $('table tr').children().length + '</p>').appendTo('body'); 
 

 
$('<p>$(\'table tr\').length = ' + $('table tr').length + '</p>').appendTo('body');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table border="1"> 
 
    <tbody> 
 

 
     <tr> 
 
      <td>TD</td> 
 
      <td>TD</td> 
 
      <td>TD</td> 
 
     </tr> 
 
     <tr> 
 
      <td>TD</td> 
 
      <td>TD</td> 
 
      <td>TD</td> 
 
     </tr> 
 
    </tbody> 
 

 
</table>

+0

いいえ、同じ仕事をしています:Dありがとう... – Novakinify

+0

テーブルのtrタグの数をカウントしますか? –

+0

はい、正解、もう一度試してみましょう、何かが私のブラウザで間違っていました。私はすべてを見なかった、申し訳ありません。 – Novakinify

0

私が使用しようと思います:

var num_rows = jQuery("table").find("tbody").children().length; 

私はそれが動作するはずだと思います!

+0

それは動作していません。tr> td(行)を再度カウントします。答えをありがとう。 trタグ/ブロックだけを数える必要があります。 – Novakinify

関連する問題