Javascript 下拉自动完成
Dependent autocomplete下拉列表,当在输入中键入文本时,它仅通过第一个字母自动完成如何使其与任何字母一起工作,如果我键入- “哟”应该在下拉列表中显示“纽约”。这是我的代码,但它只显示第一个字母Javascript 下拉自动完成,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,Dependent autocomplete下拉列表,当在输入中键入文本时,它仅通过第一个字母自动完成如何使其与任何字母一起工作,如果我键入- “哟”应该在下拉列表中显示“纽约”。这是我的代码,但它只显示第一个字母 var states = { 'Color': ['red', 'black', 'yellow', 'green', ], 'Numbers': ['one', 'two', 'three', 'four'] }; function match(str) { s
var states = {
'Color': ['red', 'black', 'yellow', 'green', ],
'Numbers': ['one', 'two', 'three', 'four']
};
function match(str) {
str = str.toLowerCase();
clearDialog();
for (var i = 0; i < states.color.length; i++) {
if (states.color[i].toLowerCase().startsWith(str)) {
jQuery('.dialog').append('<div>' + states.color[i] + '</div>');
}}}
var状态={
“颜色”:[“红色”、“黑色”、“黄色”、“绿色”和],
‘数字’:[‘一’、‘二’、‘三’、‘四’]
};
功能匹配(str){
str=str.toLowerCase();
clearDialog();
对于(var i=0;i
您是否尝试过将.startsWith(str)切换到.includes(str)
更具体地说:
if (states.color[i].toLowerCase().includes(str)) {
jQuery('.dialog').append('<div>' + states.color[i] + '</div>');
}
if(states.color[i].toLowerCase().includes(str)){
jQuery('.dialog').append(''+states.color[i]+'');
}
您是否尝试过将.startsWith(str)切换到.includes(str)
更具体地说:
if (states.color[i].toLowerCase().includes(str)) {
jQuery('.dialog').append('<div>' + states.color[i] + '</div>');
}
if(states.color[i].toLowerCase().includes(str)){
jQuery('.dialog').append(''+states.color[i]+'');
}
使用索引
:
if (states.color[i].toLowerCase().indexOf(str) !== -1) {
jQuery('.dialog').append('<div>' + states.color[i] + '</div>');
}
使用
indexOf
:
if (states.color[i].toLowerCase().indexOf(str) !== -1) {
jQuery('.dialog').append('<div>' + states.color[i] + '</div>');
}
String.indexOf()
String.indexOf()
非常感谢!如何使dropdwon中的匹配字母突出显示或加粗?针对您的新问题提出新问题。但是我想类似于.replace
和reqular表达式的东西应该可以工作。非常感谢!如何使dropdwon中的匹配字母突出显示或加粗?针对您的新问题提出新问题。但我认为类似于.replace
和reqular表达式的东西应该可以工作。