gpt4 book ai didi

javascript - 如何使一个简单的 jQuery 过滤器列表只接受整个单词,所以它不匹配部分单词,只匹配整个单词

转载 作者:行者123 更新时间:2023-11-29 16:23:20 26 4
gpt4 key购买 nike

http://jsfiddle.net/nicktheandroid/U8T8p/4/

(function($) {

$('.filterinput').keyup(function() {
var filter = $(this).val();
if (filter.length > 2) {
// this finds all links in the list that contain the input,
// and hide the ones not containing the input while showing the ones that do
$(list).find("a:not(:Contains(" + filter + "))").parent().slideUp();
$(list).find("a:Contains(" + filter + ")").parent().slideDown();
} else {
$(list).find("li").slideDown();
}
return false;
})

}(jQuery));

这将根据您键入的内容是否与列表中单词的任何部分匹配来过滤列表。我试图让它只匹配整个单词,所以在输入完整单词之前它不会说匹配。正则表达式会是最好的吗?或者?我需要帮助,我试过的都没有用。

最佳答案

是这样的:http://jsfiddle.net/U8T8p/10/

        var containing = $('#list li').filter(function () {
var regex = new RegExp('\\b' + a, 'i');
return regex.test($('a', this).text());
}).slideDown();
$('#list li').not(containing).slideUp();

正则表达式将匹配限制为当前输入的文本从单词边界开始的那些。因此,在键入“Stat”后,您仍然会匹配“United States”。您可以通过更改为 RegExp('\\b' + a + '\\b', i) 使其匹配完整的单词。

关于javascript - 如何使一个简单的 jQuery 过滤器列表只接受整个单词,所以它不匹配部分单词,只匹配整个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8688929/

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