【问题标题】:yadcf external trigger loads twiceyadcf 外部触发器加载两次
【发布时间】:2016-03-11 23:20:36
【问题描述】:

我正在使用 jquery.dataTables.yadcf.js 和 //cdn.datatables.net/1.10.6/js/jquery.dataTables.js 和 sAjaxSource

我正在尝试使用外部过滤器来一次触发多列到预选过滤器。所以你点击一个按钮,在那里,三列被挑选出来,所以你不必进入每个下拉菜单。

但我这样做的方式似乎是错误的,因为每次触发它们时我都会看到两个 JSON 请求而不是一个。

我的脚本中只有

 function doTrigger(){
      yadcf.exFilterColumn(oTable, [[0,"zero"],[1,"one"]]);
      $("#yadcf-filter--oTable-" + 1).val("one");
      oTable.fnDraw();
 }

【问题讨论】:

    标签: javascript datatables yadcf


    【解决方案1】:

    您的代码应如下所示:我添加了第三个参数true,它没有记录,但在表格加载完成后调用 exFilterColumn 时需要

     function doTrigger(){
          yadcf.exFilterColumn(oTable, [[0,"zero"],[1,"one"]], true);
     }
    

    您的其余代码根本不需要...

    【讨论】:

    • 我现在不在我的测试环境中,但是如果我去yadcf-showcase.appspot.com/ajax_source.html,输入yadcf.exFilterColumn(oTable,[0,"KHTML"]); 它不会重新加载页面。这就是为什么我依赖fnDraw()
    • 更新了我的答案,所以在展示中以下内容将起作用yadcf.exFilterColumn(oTable,[[0,"KHTML"]], true);
    • @Daniel,这个“真”确实可以防止双重 ajax 调用,但是如果使用 externally_triggered 选项,它会被忽略:当 YADCF 初始化时,过滤器会立即应用。我想要实现的是避免数据表和 YADCF 触发初始 ajax 调用,所以我使用 externally_triggered,但我得到了双 ajax 调用,或者自动触发 ajax。
    • @Marcovecchio 请在 github 上打开一个新问题并提供一个包含最少代码的测试页面,以便可以修复它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 2013-10-10
    • 2021-02-11
    • 2018-10-07
    • 1970-01-01
    相关资源
    最近更新 更多