我正在使用dataTable
插件在jsp中显示我的表格。我也想使用复选框选项。像这里的东西
DataTables: filter rows based on value in column
在这种情况下,不会隐藏类型的值。但在我的表中,隐藏了第一列的值。在这种情况下如何编写JavaScript。
我的数据表看起来像这样:
var userTable = $("#users").dataTable({
"sPaginationType": "full_numbers",
"bPaginate": true,
"bScrollCollapse": true,
"iDisplayLength": 10,
"bFilter": false,
"bJQueryUI": true,
"aoColumnDefs": [{ "bVisible": false, "aTargets": [0] }],
});
只有在未隐藏列值时,我才能使用链接中给出的解决方案。
function Clear() {
$('#users tr').show();}function Search(word) {
Clear();
$('#users tr > td:first-child').each(function () {
if ($(this).html() != word) {
$(this).parent().hide();
}
});
}
我的标签看起来像这样:
<label>
<input type="radio" name="RadioGroup1" value="radio1" id="radio1" onclick="Search('1')"/>
Enabled</label>
<label>
<input type="radio" name="RadioGroup1" value="radio2" id="radio2" onclick="Search('0')"/>
Disabled</label>
<label>
<input type="radio" name="RadioGroup1" value="radio3" id="radio3" onclick="Clear()"/>
All</label>
答案 0 :(得分:4)
您可以使用数据表的afnFiltering功能
$.fn.dataTableExt.afnFiltering.push(function(oSettings, aData, iDataIndex) {
var $radio = $("input[name='RadioGroup1']:checked").val();
// show everything
if ($radio == "all")
return true;
else // Filter column 1 where matches RadioGroup1.value
return aData[0] == $radio;
});