【发布时间】:2015-12-30 21:05:06
【问题描述】:
我有一个 jquery 数据表如下:
<table id="dt_default" class="uk-table exclude_table" cellspacing="0" width="100%">
<thead>
<tr>
<th>Number</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr class="aa">
<td>1</td>
<td>N1</td>
</tr>
<tr class="bb">
<td>1</td>
<td>N1</td>
</tr>
<tr class="cc">
<td>1</td>
<td>N1</td>
</tr>
<tr class="dd">
<td>1</td>
<td>N1</td>
</tr>
</tbody>
</table>
我有一组复选框如下,放在数据表上方:
<div>
AA<input type="checkbox" class="exclude" value="aa">
BB<input type="checkbox" class="exclude" value="analysis">
CC<input type="checkbox" class="exclude" value="progress">
DD<input type="checkbox" class="exclude" value="done">
</div>
我需要的是:当一个复选框被选中时,对应于它的值的类必须从表中隐藏,当它未被选中时,它应该显示回来。
例如:如果选中复选框AA,则对应的值为aa。所以 aa 类必须从表中隐藏,当它被取消选中时,它必须再次显示。
我为此尝试过的脚本是:
$('.exclude').click(function() {
$(".exclude").each(function(){
if ($(this).prop('checked')==true)
{
var hidden = $(this).attr("value");
$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
var row = oSettings.aoData[iDataIndex].nTr;
return $(row).hasClass(hidden) ? false : true;
}
);
}
});
});
此代码未按预期工作。
它所做的是,在选中复选框时隐藏相应的类,我们必须在DataTable中执行搜索/排序。选中复选框时,它不能直接工作。
当复选框未选中时如何显示该行?
【问题讨论】:
标签: javascript jquery checkbox datatable