如何为 ui.suggest 配置 dataFeed 和服务器端过滤?
How to configure dataFeed and server-side filtering for ui.suggest?
我正在按照这个 sample 创建附加到文本字段的建议控件:
webix.ui({
view: "suggest",
input: $$("testText"),
body:{
dataFeed:"/data.php"
}
});
datafeed
属性 向服务器发送请求并returns 过滤数据。请求是
"data.php?filter[value]=Ar" // where 'Ar' is a typed text
但是,如果我需要限制发送请求的最少键入符号数怎么办?例如,我想在输入超过 3 个字符时重新加载数据。
有可能还是我需要自己写方法?怎么做?
提前感谢您的任何提示。
这似乎并不简单,我在 webix forum 上找到了这个解决方案:
body:{
dataFeed: function(filtervalue){
if(filtervalue.length<3) return;
var urldata = "filter[value]="+encodeURIComponent(filtervalue);
this.load("http://docs.webix.com/samples/13_form/01_controls/server/data.php?"+urldata, this.config.datatype);
}
}
我正在按照这个 sample 创建附加到文本字段的建议控件:
webix.ui({
view: "suggest",
input: $$("testText"),
body:{
dataFeed:"/data.php"
}
});
datafeed
属性 向服务器发送请求并returns 过滤数据。请求是
"data.php?filter[value]=Ar" // where 'Ar' is a typed text
但是,如果我需要限制发送请求的最少键入符号数怎么办?例如,我想在输入超过 3 个字符时重新加载数据。
有可能还是我需要自己写方法?怎么做?
提前感谢您的任何提示。
这似乎并不简单,我在 webix forum 上找到了这个解决方案:
body:{
dataFeed: function(filtervalue){
if(filtervalue.length<3) return;
var urldata = "filter[value]="+encodeURIComponent(filtervalue);
this.load("http://docs.webix.com/samples/13_form/01_controls/server/data.php?"+urldata, this.config.datatype);
}
}