从word Javascript开始的动态搜索
我有一个项目列表,我正试图使用以下函数过滤输入。它已经工作了,但我正在尝试修改它从word Javascript开始的动态搜索,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我有一个项目列表,我正试图使用以下函数过滤输入。它已经工作了,但我正在尝试修改它 <script type="text/javascript"> $(function() { var $result = $(".whoSr"); $("#whossearch").keyup(function() { var val = $.trim(this.value).toUpperCase(); if (val === "") $result.show();
<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>
$(函数(){
var$result=$(“.whoSr”);
$(“#whossearch”).keyup(函数(){
var val=$.trim(this.value).toUpperCase();
如果(val==“”)
$result.show();
否则{
$result.hide();
$result.filter(函数(){
return-1!=$(this.text().toUpperCase().indexOf(val);
}).show();
}
});
});
这是我在这里找到的函数的修改版本。但我试着让它只从单词的开头开始搜索。例如:我有番茄酱和蜂鸟这两个词。如果我现在搜索“hu”,它将返回这两个词,因为“hu”在这两个词中。但我只想让它从单词的开头按顺序搜索
也许这整个方法应该被其他东西抛弃
return -1 != $(this).text().toUpperCase().indexOf(val);
将此更改为
return 0 === $(this).text().toUpperCase().indexOf(val);
return$(this.text().toUpperCase().indexOf(val)==0代码>谢谢,这很有效。不过我不太清楚这句话,所以我想我需要去看看书。