我有一个带有以下结构的列的引导表。该表实际上是使用AJAX从数据库绑定的
ROW1:<td>....</td><td>...</td><td><i class='fa fa-arrow'></i><input type='hidden' value='0'</td>
ROW2:<td>....</td><td>...</td><td><i class='fa fa-bar'></i><input type='hidden' value='1'</td>
ROW3:<td>....</td><td>...</td><td><i class='fa fa-user'></i><input type='hidden' value='2'</td>
.........
.........
此处隐藏字段的值在从数据库绑定或添加每行时动态更改。在同一列的标题上有文本框,如果我们指定值0,它将根据该列中的隐藏字段值过滤表。同样,如果我输入2,它将仅列出基于2的行作为该特定列单元格的隐藏字段值...
我无法尝试隐藏列,因为已经存在大量用于过滤目的的隐藏列。所以请求使用此模式的解决方案......
答案 0 :(得分:2)
行。不完全确定我明白你想要什么,但是这里有。从顶部开始:
在同一列的标题上有文本框...
喜欢这个吗?
<tr>
<th>col #1</th>
<th>col #2</th>
<th><input type="text" id="search"/></th>
</tr>
...如果我们指定值0,它将根据该列中的隐藏字段值过滤表。
首先,重新定义内置的html
类型过滤器,以便返回隐藏输入框的值:
$.fn.dataTableExt.ofnSearch['html'] = function ( sData ) {
return $(sData).val();
}
然后将dataTables搜索分配到标题中的输入框:
$("#search").on('keyup', function() {
table.columns(2).search($(this).val()).draw();
});
参见演示 - &gt;的 http://jsfiddle.net/xdhgn55q/ 强>
答案 1 :(得分:0)
迟到一年发现此消息,但是,为什么重新定义内置的html类型过滤器很重要?
我设法得到一个类似的解决方案,只添加了http表格元素。