数据表Ajax搜索
DataTables Ajax Search
我正在做一个项目,使用数据表jQuery插件与PHP和MySQL。
我目前有一个表,它通过AJAX请求提取数据并读取JSON响应。
$('#example1').dataTable( {
"processing": false,
"serverSide": true,
"pageLength": 10,
"bFilter": false,
"aaSorting": [[1,'desc']],
"columnDefs": [
{ "width": "10%", "targets": 0 },
{ "width": "100%", "targets": 1 },
{ "width": "220%", "targets": 2 },
{ "width": "130%", "targets": 3 },
{ "width": "180%", "targets": 4 }
],
"responsive": true,
"dom": '<"top"<"clear">>rt<"bottom"p<"clear">>',
"ajax": "ajax.parser.php?ajax_request=assignmentlist",
"fnDrawCallback" : function(oSettings) {
var total_count = oSettings.fnRecordsTotal();
var columns_in_row = $(this).children('thead').children('tr').children('th').length;
var show_num = oSettings._iDisplayLength;
var tr_count = $(this).children('tbody').children('tr').length;
var missing = show_num - tr_count;
if (show_num < total_count && missing > 0){
for(var i = 0; i < missing; i++){
$(this).append('<tr class="space"><td colspan="' + columns_in_row + '"> </td></tr>');
}
}
if (show_num > total_count) {
for(var i = 0; i < (total_count - tr_count); i++) {
$(this).append('<tr class="space"><td colspan="' + columns_in_row + '"> </td></tr>');
}
}
}
});
我想在表的顶部放置输入框和选择框的混合物,以传递给AJAX请求,以便我可以直接在数据库中执行搜索。我不确定如何用我有限的插件知识来做到这一点。
我想实现的是这样的:
https://datatables.net/examples/api/multi_filter_select.html但是,这并没有显示当数据源是JSON响应时如何执行操作,也不允许我控制选择框中的选项。
使用fnServerParams
。
你可以像平常一样添加过滤控件,例如
<select id="myselect">
<option val="1">1</option>
<option val="2">2</option>
</select>
包含在你的数据表初始化代码中:
// Pass custom param to server
"fnServerParams": function (aoData) {
aoData.push({ "name": "myparam1", "value": $('#myselect').val()});
}
本例获取id为myselect
的selectlist的selectitem值,并将其添加为自定义请求参数myparam1
您的服务器端代码需要从请求Request.QueryString['myparam1']
获取这个值,并使用它来过滤源数据。要添加额外的自定义参数,只需在fnServerParams
中添加另一个aoData.push
行。
因为我使用的是v1.10,所以函数有些不同,但是@markpsmith
引导了我在正确的道路上"ajax": {
"url": "ajax.parser.php?ajax_request=assignmentlist",
"data": {
"status": $('#myselect').val()
}
}
然后在我的形式…
<select id="myselect">
<option val="1">1</option>
<option val="2">2</option>
</select>
相关文章:
- Ajax Live搜索发布到Laravel视图
- 当用户停止键入时进行Ajax搜索
- AJAX搜索2个元素
- 在select2中手动触发ajax搜索
- 当搜索字段为空时,取消所有ajax请求
- 键盘友好的 AJAX 搜索
- 在 ajax POST 后根据搜索条件刷新表
- GoogleMapsForRails-只有在搜索结果发生变化时才通过ajax更新标记
- 我需要从jsp页面向struts操作类进行ajax调用,以获得一些数据,如名称搜索
- AJAX即时搜索的修改
- AJAX/JavaScript搜索性能优于Java/Oracle
- 根据ajax搜索答案自动填写表单并提交
- 在Rails中使用Ajax对搜索框的keyup进行搜索
- Ajax搜索未在引号上运行
- 使用JavaScript和ajax在给定的文件夹中搜索图像
- Ajax代码无法搜索数据
- 减少即时搜索中的 ajax 调用次数
- HTML视图在搜索(ajax)更新期间丢失状态
- 最好的方式添加一个域名搜索ajax表单
- 在javascript中搜索ajax请求元素的索引