gpt4 book ai didi

jQuery 匹配我针对列表键入的内容

转载 作者:行者123 更新时间:2023-12-01 05:21:11 25 4
gpt4 key购买 nike

我正在尝试测试我输入的内容是否与字符串列表匹配,但是因为如果我输入a,我会使用indexOf,如果a在任何地方,我仍然会得到匹配在字符串中,而不是第一个字母是 a

例如,我应该能够输入 au 并只得到 Audi 而不是像 Yhjaukj 这样的例子。

enter image description here

这是我当前的代码,它从选择框选项中创建一个字符串列表,然后当我在可编辑范围内键入时搜索这些选项。

var $makes = [];
$('#make option').each(function() {
if ($(this).val() !== '')
$makes.push({id: $(this).val(), value: ($(this).text()).replace(/\((.*)\)/, '')});
});
console.log($makes);

$('#marv_search_make span.value').on('blur keyup paste', function() {
var $val = ($(this).html()).toUpperCase();

var $result;
for(var i=0; i<$makes.length;i++) {
if (~($makes[i].value).indexOf($val))
$result = $makes[i].value;
}
$('#marv_search_make i.hint').html($result);
}).html($makes[0].value);

最佳答案

您所要做的就是根据数组中的每个条目检查跨度的值,并查看它是否以该值开头。如果是这样,indexOf() 应该返回 0。

for(var i=0; i<$makes.length;i++) {
if (($makes[i].value).indexOf($val) == 0){
$result = $makes[i].value;
return false;
}
}

或者您可以使用正则表达式。

for(var i=0; i<$makes.length;i++) {
if (($makes[i].value).match("^"+$val)){
$result = $makes[i].value;
return false;
}
}

关于jQuery 匹配我针对列表键入的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43544959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com