开发者社区> 问答> 正文

datatables ajax 参数传值问题报错 

var table ;
    	$(document).ready(function() {
    		table=$('#custAgentTable').DataTable({
    			"pagingType": "full_numbers",
    			"info":false,
    			"lengthChange":false,
    	     	"searching":false,
    	        "processing": true,
    	        "serverSide": true,
    	         ordering:false,
    	         "ajax":{
    	             url:"${ctx}/front/cust/agent/custagent/listData",
    	             type:"POST",
    	             data:function(d){
    	            	 d.start_date=$("#start_date").val();
    	            	 d.end_date=$("#end_date").val();
    	            	 d.search=$("#search").val();
    	            	 d.agentLevel=$("#agentLevel").val();
    	             }
    	         },
    	        "columns": [
    	                ]
    	    });

    	} );

如上代码 我有两个查询按钮 我想要点击其中一个按钮时按照start——date这些查询条件来
另一个按钮我想只按照search这个查询条件来过滤查询 求教如何实现
求教如何更改传的参数

展开
收起
kun坤 2020-06-10 10:04:47 766 0
1 条回答
写回答
取消 提交回答
  • 写一个search公用方法,例如:
    function searchTableData(_startDate, _endDate, _search, _agentLevel) {
        if ($.fn.dataTable.isDataTable('#custAgentTable'))     {         _table = $('#custAgentTable').DataTable();         _table.destroy();     }
        // -- 上面这段代码必须加上,防止datatables重复初始化报错
        table=$('#custAgentTable').DataTable({

                    "pagingType":"full_numbers",

                    "info":false,
                    "lengthChange":false,
                    "searching":false,
                    "processing":true,
                    "serverSide":true,
                     ordering:false,
                     "ajax":{
                         url:"${ctx}/front/cust/agent/custagent/listData",
                         type:"POST",
                         data:function(d){
                             d.start_date=_startDate;
                             d.end_date=_endDate;
                             d.search=_search;
                             d.agentLevel=_agentLevel;
                         }
                     },
                    "columns": [
                            ]
                }); } 无论初次all检索,还是通过检索条件检索都调用这个方法。 初次all检索时参数全部传空,通过检索条件检索时正常传参数 后台接收到参数后判断是否为空,如果为空sql中不加这个字段的检索条件,反之加上 就这么简单。。。 ######恩好的 谢谢###### 很简单,把所有查询相关的参数全部丢到一个form里面,你点不同按钮的时候,处理form里面不同的值.你的分页参数start和length也在这个form里面. 最后,你的ajax data里面这么写就收工了.
    $('input#start').val(d.start); $('input#length').val(d.length);  
    return $('#yourForm').serialize();
    2020-06-11 11:16:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载