gpt4 book ai didi

jquery - 如何从 JQuery DataTable 获取包含选中复选框的行

转载 作者:行者123 更新时间:2023-12-03 23:04:28 24 4
gpt4 key购买 nike

我需要从 Jquery 数据表的隐藏列中获取值,其中已选中复选框(在第一个可见列中)。到目前为止我已经有了

bodytable$ = $('#dataTable').dataTable({
"bJQueryUI" : true,
"bPaginate" : true,

"bSort" : false,
"bFilter": false,
"aoColumns": [{"bVisible": false},
{"bVisible": true},
{"bVisible": true},
{"bVisible": true}],

"oLanguage": {
"sEmptyTable": '',
"sInfoEmpty": '',
"sZeroRecords": ''
}
});

我从隐藏列中获取值

    var checkIds = [];

$('input[type="checkbox"]:checked', bodytable$.fnGetNodes()).each(function(i){
var tr = $(this).closest('tr');
var rowData = bodytable$.fnGetData(tr);
checkIds.push(rowData[0]);
});
alert(checkIds);

上线失败 var rowData = bodytable$.fnGetData(tr);Firefox 调试给出错误消息 TypeError: a.nodeName is undefined

我必须通过 DataTable API,因为隐藏列实际上不会出现在加载到浏览器中的 html 中,并且因为我希望能够在所选复选框不在同一位置时选择数据值页。

根据 mainguys 的响应,并使用 CSS 来隐藏列而不是 bVisible 属性,我现在可以获得我想要的内容;

    var checkIds = [];
$('input[type="checkbox"]:checked', bodytable$.fnGetNodes()).each(function(i){
var tr = $(this).closest('tr');
checkIds.push($(tr).find('td:eq(0)').text());
});
alert(checkIds);

最佳答案

找到了如何做到这一点的技巧。

不要隐藏列,只需为其分配一个带有 display:none 的类即可。

"aoColumns": [{
"bVisible": true
}, {
"bVisible": true, sClass:"hideme"
}, {
"bVisible": true
}]

CSS:

.hideme {
display:none;
}

现在用这个找到他们:

   var checkIds = [];
bodytable$.$('tr').each(function(index,rowhtml){
var checked= $('input[type="checkbox"]:checked',rowhtml).length;
if (checked==1){
checkIds.push($('.hideme',rowhtml).text());
}
});
alert(checkIds);

是的,我知道这不是很优雅,但它有效。 Try it here

关于jquery - 如何从 JQuery DataTable 获取包含选中复选框的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22068623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com