我有一个项目列表,我正在尝试使用以下函数过滤输入。它已经有效,但我正在尝试修改它。
<script type="text/javascript">
$(function() {
var $result = $(".whoSr");
$("#whossearch").keyup(function() {
var val = $.trim(this.value).toUpperCase();
if (val === "")
$result.show();
else {
$result.hide();
$result.filter(function() {
return -1 != $(this).text().toUpperCase().indexOf(val);
}).show();
}
});
});
</script>
<input id="whossearch" type="text" />
<a href="#" class="whoSr">Ketchup</a>
<a href="#" class="whoSr">Hummingbirds</a>
这是我在这里找到的功能的修改版本。但是我试图只从单词的开头进行搜索。例如:我有Ketchup和Hummingbirds这两个词。如果我现在搜索“hu”,它将返回这两个词,因为“hu”在它们两个中。但我只希望它从单词的开头按顺序搜索。
也许整个方法都应该废弃其他东西......
答案 0 :(得分:0)
return -1 != $(this).text().toUpperCase().indexOf(val);
将此更改为
return 0 === $(this).text().toUpperCase().indexOf(val);