Javascript 如果未找到匹配值,jQuery ui自动完成显示所有值
jQuery是否可以自动完成,以便如果有可用的“source:”值,但它们与您键入的内容不匹配,那么一次只显示所有源代码 例如,给定以下代码,如果我输入“菠萝”,如何显示所有编程语言而不是它们中的任何一种Javascript 如果未找到匹配值,jQuery ui自动完成显示所有值,javascript,jquery,jquery-ui,jquery-ui-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Ui Autocomplete,jQuery是否可以自动完成,以便如果有可用的“source:”值,但它们与您键入的内容不匹配,那么一次只显示所有源代码 例如,给定以下代码,如果我输入“菠萝”,如何显示所有编程语言而不是它们中的任何一种 <script> $(function() { var availableTags = [ "JavaScript", "Perl", "PHP", "Python", "Ruby" ]
<script>
$(function() {
var availableTags = [
"JavaScript",
"Perl",
"PHP",
"Python",
"Ruby"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
<input type="text" id="tags" />
$(函数(){
var availableTags=[
“JavaScript”,
“Perl”,
“PHP”,
“Python”,
“红宝石”
];
$(“#标记”).autocomplete({
资料来源:availableTags
});
});
只需编写一个自定义的源
回调
例如:
source: function(req, res){
res(['w00t', 'yay']);
}
在您的情况下(伪代码):
将属性与自定义函数一起使用。下面显示的自定义函数模拟自动完成原始行为,在可用标记中搜索键入的文本作为子字符串。如果未找到匹配项,则返回所有可用标记
$(function() {
var availableTags = [
"JavaScript",
"Perl",
"PHP",
"Python",
"Ruby"
];
$("#tags").autocomplete({
source: function(request, response) {
var term = request.term.toLowerCase();
var matchingTags = $.grep(availableTags, function(tag) {
return tag.toLowerCase().indexOf(term) >= 0;
});
response(matchingTags.length ? matchingTags : availableTags);
}
});
});
真棒。不过有个问题,我也不知道怎么解决。它说“tag.toLowerCase”不是一个函数。标签是空的吗?我真是笨透了…看修改后的答案。小提琴(原版和最新版本)似乎适合我。是的,我得摆弄它。我的标签是一组我认为。。。嗯……这个例子应该可以做一些小的修改,也许
tag.toLowerCase()
应该是tag.label.toLowerCase()
。没错,我试过tag.label,但失败了。我的来源是这样的目前。。。var-resArr=[];var resObj=新对象();resObj.value=新对象();resObj.value.val1=x;resObj.value.val2=y;resObj.label=z;resObj.desc=a;再吸收推压(再吸收);
$(function() {
var availableTags = [
"JavaScript",
"Perl",
"PHP",
"Python",
"Ruby"
];
$("#tags").autocomplete({
source: function(request, response) {
var term = request.term.toLowerCase();
var matchingTags = $.grep(availableTags, function(tag) {
return tag.toLowerCase().indexOf(term) >= 0;
});
response(matchingTags.length ? matchingTags : availableTags);
}
});
});