0
我正在使用jQuery DataTables,并希望按切换按钮进行过滤。数据表和使用过滤器
目前,我的表格显示属于当前用户的工具,但我希望他们也能够搜索其他组的工具。
例如。用户1属于组1.表格默认显示所有组1工具。但是当他们点击“第2组”时,我想要更新表以显示所有第2组工具。
目前,这个工程与POST参数:
def my_search
if params[:search][:value].present?
records = Tool.full_text_search(params[:search][:value])
elsif params[:group]
records = Tool.where(group: params[:group])
else
records = Tool.where(group: current_user.group)
end
end
这是我的钢轨功能的工作原理jQuery的:
var toolTable = $('#tools-table').DataTable({
"ajax": {
'url':'/tools.json',
'data': {
group: function() {
return group;
}
}
},
"columns": [
{data: '0'},
{data: '1'},
{data: '2'},
{data: '3'},
{data: '4'},
{data: '5'}
],
'columnDefs': [{
'orderable': false,
'targets': ['nosort']
}],
// autoWidth: false,
// pagingType: 'full_numbers',
processing: true,
serverSide: true,
"bPaginate": true,
"bLengthChange": false,
"bFilter": true,
"bInfo": false,
"bAutoWidth": false
});
我正在使用切换工具栏,如下所示:http://www.bootstrap-switch.org/examples.html...但我试过使用这个例子,它看起来像我的数据结构doesn不符合你的。每次有变更时,数据表请求是否会发生? –
@KevinBrown,是的'ajax.reload()'将强制DataTables发送请求。请记住,您必须使用'switchChange.bootstrapSwitch'事件而不是'change'(请参阅[events](http://www.bootstrap-switch.org/events.html))。还需要用适当的方法替换'$('#example-group')。val()'来检索开关的值。 –
所以,我很接近。如果我手动设置''data“:”group_name“',我会得到一个过滤的响应。但是当我设置该函数时,没有传递参数。明天我会更新我的代码。 –