有谁知道如何在jquery数据表的column-filter插件头中添加一个复选框?当我选中复选框时,触发回调(我将'检查'表中的所有复选框或'取消选中',如果是这样的话)?
不,我不是在谈论这个:http://jquery-datatables-column-filter.googlecode.com/svn/trunk/checkbox.html。我只需要一个简单的旧简单复选框,而不是那个富有复选框的下拉菜单。雅虎邮件上的东西 - 如果你想要一个例子。
我试过了:
<script>
var oTable = $('table#table_muc').dataTable();
oTable.columnFilter({
"sPlaceHolder": "head:after",
"iFilteringDelay": 0,
"aoColumns":[
{ "type": "checkbox" },
{},
{},
{},
{},
]
});
</script>
它不起作用。标题中复选框所在的单元格是空的(好吧,只包含该列的标题值,但没有复选框)。
如果重要:
更新:我还找到了这个链接:https://code.google.com/p/jquery-datatables-column-filter/wiki/ColumnFilter。坏消息是它没有提到复选框。好消息就像有人设法扩展它,我可能能做得更少(我不需要整个checboxed-div)。
答案 0 :(得分:2)
我得到了答案:至少从我所看到的情况来看,没有直接/简单的方法可以做到这一点。
我做了什么:
一个。我添加了一个名为“custom”的新自定义过滤器控件类型;
湾aoColumns
将具有以下定义:
"aoColumns":[
{ "type": "custom", "callback": fnControlCallback },
{},
{},
{},
{},
{}]
℃。在jquery.dataTables.columnFilter.js中将以下函数更改为如下所示:
function _fnRangeLabelPart(iPlace)
{
...
switch (aoColumn.type)
{
...
case "custom":
if (null != aoColumn.callback && undefined != aoColumn.callback)
{
fnPrepareForCallback(oTable, aoColumn);
}
break;
d。然后,新函数(相同文件:jquery.dataTables.columnFilter.js):
function fnPrepareForCallback(oTable, aoColumn) {
var index = i;
var s = aoColumn.callback(oTable, aoColumn, $(this));
var object = $(s);
th.html(object);
}
即回调方法如下:
function fnControlCallback(oTable, aoColumn, o) { return '<input type="checkbox">'; }
希望它可以帮助某人并节省一些时间。感谢。