当我尝试从1页发布选定的值时没有问题,我有datatable
checkboxes
。
但是当我从第1页检查一些checkboxes
而在第2页检查很少时,它只发布当前页面的值(我当前正在查看的页面)
在发布我用jquery检查过的值之前,它正在计算所选行的正确数量。
$(document).ready(function() {
var table = $('#example').DataTable();
$('#example tbody').on( 'click', 'tr', function () {
$(this).toggleClass('selected');
} );
$('#button').click( function () {
alert( table.rows('.selected').data().length +' row(s) selected' );
alert($(".messageCheckbox").is(":checked").val())
} );
} );
从数据库填充数据表
<td><input type="checkbox" name ="multi[]" value="<?php echo $row['work_id']; ?>"></td>
PHP
$aDoor = $_POST['multi'];
if(empty($aDoor))
{
echo("You didn't select any Image.");
}
else
{
$N = count($aDoor);
for($i=0; $i < $N; $i++) {
// do stuff
} }
答案 0 :(得分:1)
$(function(){
$('#button').click(function(){
var val = [];
$(':checkbox:checked').each(function(i){
val[i] = $(this).val();
});
alert(val.length);
});
});
答案 1 :(得分:0)
试试这个
$(document).ready(function() {
var table = $('#example').DataTable();
$('#example tbody').on( 'click', 'tr', function () {
$($(this),table.fnGetNodes()).toggleClass('selected');
//$(this).toggleClass('selected');
});
$('#button').click(function(){
alert( table.rows('.selected').data().length +' row(s) selected' );
alert($(".messageCheckbox").is(":checked").val())
});
});
此处table.fnGetNodes()
将返回表中的所有节点。
<强>更新强>
试试这段代码
$(document).ready(function() {
var table = $('#example').DataTable();
$('#example tbody').on( 'click', 'input[type="checkbox"]', function () {
$('input[type="checkbox"][value="'+$(this).val()+'"]',table.fnGetNodes()).prop('checked',true);
});
$('#button').click(function(){
alert( $('input[type="checkbox"]:checked',table.fnGetNodes()).length +' row(s) selected' );
alert($(".messageCheckbox").is(":checked").val())
});
});
答案 2 :(得分:0)
$(function(){
$('#button').click(function(){
$(':checkbox:checked').each(function(i){
alert($(this).val());
});
});
});
试试这个它会起作用。