[英]Dropdown Autocomplete
Dependent autocomplete drop-down, when text is typed in input it auto-completes only by first letters how to make it work with any letter, an example if i type - "Yo" it should show "New York" in dropdown. 依赖的自动完成下拉菜单,当在输入中键入文本时,它仅由首字母自动完成,以使其与任何字母一起工作,例如,如果我键入“ Yo”,则下拉菜单中应显示“ New York”。 Here is my code for that but it shows only by first letters. 这是我的代码,但仅以首字母显示。
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>');
}}}
Have you tried switching out .startsWith(str) to .includes(str)? 您是否尝试过将.startsWith(str)切换为.includes(str)?
to be more specific: 更加具体:
if (states.color[i].toLowerCase().includes(str)) {
jQuery('.dialog').append('<div>' + states.color[i] + '</div>');
}
Use indexOf
: 使用indexOf
:
if (states.color[i].toLowerCase().indexOf(str) !== -1) {
jQuery('.dialog').append('<div>' + states.color[i] + '</div>');
}
Or a more up-to-date approach with includes
: 或更新的方法includes
:
if (states.color[i].toLowerCase().includes(str)) {
jQuery('.dialog').append('<div>' + states.color[i] + '</div>');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.