Kendo ui 如何在剑道自动完成中使用通配符查找项目

Kendo ui 如何在剑道自动完成中使用通配符查找项目,kendo-ui,kendo-autocomplete,Kendo Ui,Kendo Autocomplete,我将剑道与JQuery一起使用,我需要创建一个带有通配符的搜索 例:苹果%红色 我如何才能做到这一点?尽管我在的文档中找不到对它的任何引用,并且它说需要是字符串,但您可以将它定义为一个函数,它接收两个参数,即要比较的项和输入字段的值 现在的问题是,如果您使用%作为通配符,我认为您应该使用服务器端过滤,但如果您要求使用JavaScript或jQuery实现,我认为您要求的是浏览器实现 如果用户可以使用JavaScript正则表达式语法输入通配符,则只需执行以下操作: $("#autocomplet

我将剑道与JQuery一起使用,我需要创建一个带有通配符的搜索

例:苹果%红色


我如何才能做到这一点?

尽管我在的文档中找不到对它的任何引用,并且它说需要是
字符串
,但您可以将它定义为一个
函数
,它接收两个参数,即要比较的项和输入字段的值

现在的问题是,如果您使用
%
作为通配符,我认为您应该使用服务器端过滤,但如果您要求使用JavaScript或jQuery实现,我认为您要求的是浏览器实现

如果用户可以使用JavaScript正则表达式语法输入通配符,则只需执行以下操作:

$("#autocomplete").kendoAutoComplete({
  filter: function(input, pattern) {
    var re = new RegExp(pattern, 'i');
    return re.test(input);
  },
  dataSource: {
    data: ["one", "two", "three"]
  }
});
但是如果您想让它们使用
%
作为任何字符的通配符,您可以在内部将if替换为
*
,并执行以下操作:

$("#autocomplete").kendoAutoComplete({
  filter: function(input, pattern) {
    pattern = pattern.replace('%', '.*');
    var re = new RegExp(pattern, 'i';
    return re.test(input);;
  },
  dataSource: {
    data: ["One", "Two", "Three"]
  }
});
注意:需要注意的是,默认情况下自动完成不区分大小写,但您可以使用

下面是一段代码片段。尝试输入
t
t%e

var ignoreCase=true;
$(“#自动完成”).kendoAutoComplete({
ignoreCase:ignoreCase,
过滤器:功能(输入、模式){
pattern=pattern.replace('%','.*');
var re=新的RegExp(模式,ignoreCase?'i':'');
返回重新测试(输入);
},
数据源:{
数据:[“一”、“二”、“三”]
}
});


您需要提供更多详细信息,说明谁将在浏览器或后端服务中运行搜索。您使用的是哪种
剑道UI for…
Telerik UI for…
产品?太好了!谢谢但是只需要一次就可以了。。T%e%e不工作如果可以使用多个
%
则应使用
模式。替换(/%/g,'.*')而不是
模式。替换('%','.'')超级,你是最棒的!!