数据表未发布所有选定项目
data tables not posting all the selected items
当我尝试 post 从第 1 页中选择值时,datatable
和 checkboxes
没有问题。
但是当我检查第 1 页的几个 checkboxes
和第 2 页的几个时,它只有 post 来自当前页面(我当前正在查看的页面)的值
在 post 计算我用 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
} }
试试这个
$(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()
将return所有节点table。
更新
试试这个代码
$(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())
});
});
$(function(){
$('#button').click(function(){
$(':checkbox:checked').each(function(i){
alert($(this).val());
});
});
});
尝试一下它会起作用。
$(function(){
$('#button').click(function(){
var val = [];
$(':checkbox:checked').each(function(i){
val[i] = $(this).val();
});
alert(val.length);
});
});
当我尝试 post 从第 1 页中选择值时,datatable
和 checkboxes
没有问题。
但是当我检查第 1 页的几个 checkboxes
和第 2 页的几个时,它只有 post 来自当前页面(我当前正在查看的页面)的值
在 post 计算我用 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
} }
试试这个
$(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()
将return所有节点table。
更新
试试这个代码
$(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())
});
});
$(function(){
$('#button').click(function(){
$(':checkbox:checked').each(function(i){
alert($(this).val());
});
});
});
尝试一下它会起作用。
$(function(){
$('#button').click(function(){
var val = [];
$(':checkbox:checked').each(function(i){
val[i] = $(this).val();
});
alert(val.length);
});
});