3

在我的页面上,我有dataTable,它是用例如“/api/reports”之类的 sAjaxSource url 初始化的。当我们进行排序时,过滤它会附加到 url 附加查询键。我想将键“date_from”和“date_to”添加到 sAjaxSource url(可以在表初始化后更改日期间隔)。在重新加载表之前是否有任何入口点函数,所以我可以在那里做类似的事情:

var oSettings = rtbl.fnSettings();
oSettings.sAjaxSource = "/api/reports/?type=sites&date_from=" + $("#date_from").text() + "&date_to=" + $("#date_to").text();

感谢您的帮助!

4

2 回答 2

3

所以,我已经解决了,接下来,非常愚蠢的方式:

function set_sAjaxSource(){
                var oSettings = rtbl.fnSettings();
                oSettings.sAjaxSource = "/api/reports/?type=sites&date_from=" + $("#date_from").val() + "&date_to=" + $("#date_to").val();
            }

            $('.sorting').bind('click', set_sAjaxSource)
            $('.sorting_asc').bind('click', set_sAjaxSource)
            $('.sorting_desc').bind('click', set_sAjaxSource)
            $('.sorting_desc').bind('click', set_sAjaxSource)
            $('.paginate_button').bind('click', set_sAjaxSource)
            $('.sorting_active').bind('click', set_sAjaxSource)
于 2010-03-08T08:39:52.683 回答
2

创建表时,使用数据表的fnServerParams函数的正确方法是:

fnServerParams: function(aoData) {
              aoData.push({ name: "type", value: 'sites' });
              aoData.push({ name: "date_from", value: $("#date_from").text() });
              aoData.push({ name: "date_to", value: $("#date_to").text() });
            }
于 2012-06-04T17:43:23.383 回答