2017-08-03 49 views
1

我对yadcf比较陌生。
我想在“auto_complete”类型的数据表中放置一个搜索过滤器。 提供的建议应基于客户输入的ajax调用。带auto_complete和ajax的YADCF不起作用

看来,当我开始键入(没有请求发送到服务器)时,不会进行调用。
提供的建议是基于加载的数据,而不是基于ajax调用。

我在做什么错? 我找不到一个好例子。

我的代码:

yadcf.init(oTable, [{ 
    column_number: 0, 
    filter_default_label: "Enter a familyname...", 
    filter_type: "auto_complete", 
    filter_plugin_options: { 
     source: function(request, response) { 
      $.ajax({ 
       url: "/bamcers-ajax/familienaam", 
       dataType: "json", 
       type : 'Get', 
       data: { familyname: request.term }, 
       success: function(data) { response(data.a);} 
      }) 
     }, 
     minLength: 2 
    }, 
    sort_as: "alpha", 
    style_class: 'width250' 
}, columndefs... 

注:此代码工作正常

$("#testField").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      dataType: "json", 
      type : 'Get', 
      url: '/bamcers-ajax/familienaam', 
      data: {familienaam: request.term}, 
      success: function(data) {response(data);} 
     }); 
    }, 
    minLength: 2 
}); 

回答

0

貌似文档误导,根据filter_plugin_options是不是真的在auto_complete

使用的代码
if (columnObj.filter_type === "auto_complete") { 
    columnObj.filter_plugin_options = { 
     source: $(document).data("yadcf-filter-" + table_selector_jq_friendly + "-" + column_number), 
     select: autocompleteSelect 
    }; 
... 

https://github.com/vedmack/yadcf/blob/master/src/jquery.dataTables.yadcf.js#L2916您可以在github上打开功能请求或发送PR