Javascript Jquery自动完成推荐
我正在尝试JQuery自动完成示例。请参阅- 当我输入“Ar”时,它应该首先给出“Ar”相关项。但它首先显示“An”,尽管我已经给出了Javascript Jquery自动完成推荐,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我正在尝试JQuery自动完成示例。请参阅- 当我输入“Ar”时,它应该首先给出“Ar”相关项。但它首先显示“An”,尽管我已经给出了minLength1。可能是考虑按字母顺序排列。有没有解决这个问题的建议 minLength: 1, select: function(event, ui) { event.preventDefault(); $("#customer-search").val(ui.item.label); $("#
minLength
1。可能是考虑按字母顺序排列。有没有解决这个问题的建议
minLength: 1,
select: function(event, ui) {
event.preventDefault();
$("#customer-search").val(ui.item.label);
$("#selected-customer").val(ui.item.label);
},
focus: function(event, ui) {
event.preventDefault();
$("#customer-search").val(ui.item.label);
}
});
默认情况下,自动完成包含字符串的搜索项,而不是以开头
$('#customer-search').autocomplete({
source: function(request, response) {
var filtered = $.map(data, function(item) {
if(item.value.toLowerCase().startsWith(request.term.toLowerCase())) {
return item;
}
else {
return null;
}
});
response(filtered);
}
});
默认情况下,自动完成包含字符串的搜索项,而不是以开头
$('#customer-search').autocomplete({
source: function(request, response) {
var filtered = $.map(data, function(item) {
if(item.value.toLowerCase().startsWith(request.term.toLowerCase())) {
return item;
}
else {
return null;
}
});
response(filtered);
}
});
尝试更改“search”方法中命名空间中的正则表达式
请在jsfiddle.net/LCv8L/800/中找到答案,尝试在“search”方法中更改命名空间中的正则表达式
请在jsfiddle.net/LCv8L/800/中找到答案,在您的jsfiddle中运行此代码 它正在按您的要求工作……) //使用正则表达式是防止这种情况的更好方法
var wordlist= [
"Afghanistan",
"Albania",
"Algeria",
"American Samoa",
"Andorra",
"Angola",
"Anguilla",
"Antarctica",
"Antigua and Barbuda",
"Argentina",
"Armenia",
"Aruba",
"Australia",
"Austria",
"Azerbaijan"
] ;
$("#customer-search").autocomplete({
source: function(req, responseFn) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp( "^" + re, "i" );
var a = $.grep( wordlist, function(item,index){
return matcher.test(item);
});
responseFn( a );
}
});
在JSFIDLE中运行此代码 它正在按您的要求工作……) //使用正则表达式是防止这种情况的更好方法
var wordlist= [
"Afghanistan",
"Albania",
"Algeria",
"American Samoa",
"Andorra",
"Angola",
"Anguilla",
"Antarctica",
"Antigua and Barbuda",
"Argentina",
"Armenia",
"Aruba",
"Australia",
"Austria",
"Azerbaijan"
] ;
$("#customer-search").autocomplete({
source: function(req, responseFn) {
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp( "^" + re, "i" );
var a = $.grep( wordlist, function(item,index){
return matcher.test(item);
});
responseFn( a );
}
});
startsWith不支持某些浏览器这不适用于主题。很容易检查并替换为类似
的内容。indexOf(针)=0
。是的。最好像你说的那样提供一个好的解决方案,否则item.match!==null:)StartWith不支持某些浏览器这不适用于主题。很容易检查并替换为类似的内容。indexOf(针)=0
。是的。最好像你说的那样提供一个好的解决方案,否则item.match!==null:)谢谢,我无法理解更改,请您详细说明,因为我说过我们可以手动进行搜索查询,并使用正则表达式返回源响应。在这里,他们为源绑定了一个方法,而不是JSON数组,并通过使用与给定输入匹配的regexp进行过滤,每次返回源,我无法理解更改,请您详细说明,因为我说过我们可以手动进行搜索查询,并使用正则表达式返回源响应。在这里,他们为源绑定了一个方法,而不是JSON数组,并通过使用与给定输入匹配的regexp进行过滤来每次返回源