2016-12-30 3 views
1

JQueryデータ型を使用しています。チェックボックスをすべて選択すると、「すべて選択」チェックボックスをオンにすると、そのページのすべてのチェックボックスが選択されます。すべてのチェックボックスを選択すると、次のページのJQueryデータ型では機能しません

私は、次のコードを使用しています:

<table id="myTable" cellspacing="0" width="100%"> 
    <thead> 
     <tr> 
      <th> Name</th> 
      <th> Type</th> 
      <th> Details</th> 
      <th>Select <input type="checkbox" name="select_all" value="1" id="select-all"></th> 
     </tr> 
    </thead> 
    <tbody> 
     <?php foreach ($test as $data) { ?> 
     <tr> 
      <td><?php echo $data->name; ?></td> 
      <td><?php echo $data->type; ?></td> 
      <td><a href="/details">view details</a></td> 
      <td><input type="checkbox" name="manuf[]" class="sub_chk" data-id="<?php echo $data->id; ?>"></td> 


     </tr> 
     <?php } ?> 
    </tbody> 
</table> 
<script> 
$(document).ready(function(){ 
$('#myTable').DataTable(); 
}); 

$('#select-all').on('click', function(e) { 
if($(this).is(':checked',true)) 
{ 
    $(".sub_chk").prop('checked', true); 
} 
else 
{ 
    $(".sub_chk").prop('checked',false); 
} 
}); 
</script> 

上記のコードは、データテーブルの最初のページのために動作しますが、私は2番目のページを選択して、私が選択した場合、チェックボックス「すべて選択」場合、それが私を取ります2番目のページのチェックボックスを選択する代わりに、最初のページを表示します。

解決方法はありますか?

答えて

1

Working example

問題がソートから来て、あなたはすべてのチェックボックスの選択を含んでthでソートを無効にする必要があります。

これが役に立ちます。

+1

ええ、あなたは、私のミスですね。私はコンテンツがページの読み込み中にダンプされていることを認識していませんでした。私はAJAXから来ていると思っていました。 –

+0

@Zakaria Acharki動作しません。もう一度説明しましょう。すべてのデータとチェックボックス付きの列を持つjQueryがあります。ヘッダーには、そのページのすべてのチェックボックスを選択するための別のチェックボックスがあります。私が最初のページにいる場合は、[すべてを選択]をクリックしてください。すべての行がチェックされます。それは正しいですが、データテーブルの次のページに行くと、すべてのチェックボックスが選択されたままになります。私が選択を解除すると、2番目のページのチェックボックスを選択するのではなく、データテーブルの最初のページに移動します。 – san

+0

問題はソートから来ていると思います。 -all'チェックボックス、http://jsfiddle.net/UvjnT/1475/ –

0

このリンクがあなたの問題に役立つことを願っています。 おかげ

http://www.gyrocode.com/articles/jquery-datatables-how-to-add-a-checkbox-column/

+0

サイトに精通していることを示す十分な評判それに答える期待自己完結型であり、外部サイトへのリンクに完全に依存しているわけではありません。そのサイトの関連部分を要約して、あなたの答えにどのように、なぜそれが答えようとしている特定の質問に関連しているかを示してください。 –

関連する問題