从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谢谢,这很有效。不过我不太清楚这句话,所以我想我需要去看看书。