2016-11-23 6 views
1

こんにちは、これは可能ですか?私は何をしたいのか、この値を取得するためのjqueryで.findを正しく使用する方法

よう

$(document).ready(function(){ 
     $('body').delegate('#check-hide-empty-table', 'click', function(){ 
      if ($(this).is(':checked')) { 
       alert("checked") 
       $('table').find('tr td.test').parents('tr').hide(); 
      } 
      else { 
       alert("uncheck") 
       $('table').find('tr td.test').parents('tr').show(); 
      } 
     }); 

とPHPファイル

</script> 
<table id="myTable" class="table table-responsive table-hover table-striped table-fixed tablesorter"> 
    <thead> 
     <th><input type="checkbox" value="hide" id="check-hide-empty-table"> Hide Empty</th> 
    </thead> 

    <tbody> 
    <?php 
     $first = false; 
     foreach ($data["data"] as $list) { 
      $isfull = $list["Players"] == $list["MaxUsers"] ? true : false; 
    ?> 

     <tr class="tabClicker" data-tab="tabs-1" id="<?=$list["Id"];?>"> 
      <td class= "test"><?= $list["Players"]."/".$list["MaxUsers"];?></td> 
     </tr> 
     <?php } ?> 
    </tbody> 
</table> 

は私がするとき$リスト[ "プレーヤー"] = 0隠しchechbox関数を作成したいが、私はどのように混乱しています、ですそれに私は.find(TRのtd.test)= 0場合、そのテーブルは

それをどのように行うには

を非表示になりとテイク値 .find(TRのtd.test)を使用しようとしましたか?このコードはまだエラーです。助けてくれてありがとう

答えて

1

最初に、delegate()メソッドは非難されています。代わりにon()を使用してください。 1.7より古いバージョンのjQueryを使用している場合は、アップグレードする必要があります。理想的には1.12以上にする必要があります。

アクセシビリティの向上のため、ラジオボタンとチェックボックスを使用する場合は、changeイベントも使用する必要があります。あなたの実際の問題を解決するために

あなたは、このように、filter()を使用することができます。この例では

$('#myTable').on('change', '#check-hide-empty-table', function() { 
    $('table').find('tr td.test').filter(function() { 
     return $(this).text().trim() == "0"; 
    }).parents('tr').toggle(!this.checked); 
}); 

を私はtoggle()方法にcheckedプロパティからboolean値を提供することで、if声明の必要性を否定。

あなたの答えのための

Working example

+0

感謝の男が、** <?= $リスト[ "プレーヤー"]ので、私は問題を得た。 "/"。$リスト[ "MAXUSERS"] ;?> ** 2値、0/8のような結果、または0/5の値を持っています。私はもう一度尋ねたい、このようにすれば効率的ですか? '<?= $リスト[ "プレーヤー"]>/<?= $リスト[ "MAXUSERS"];>'今、このコードでは、作業@Rory McCrossan – Pentolan

+0

うんです - それは完全にうまくいくと私はそれを修正する方法もあります。 –

関連する問題