2014-01-24 54 views
1

我有一個項目的列表,我試圖用一個輸入使用以下函數進行過濾。它已經可以工作,但我正在嘗試修改它。動態搜索從詞的開始Javascript

<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> 

這是我在這裏找到的函數的修改版本。但我試圖只從單詞的開頭進行搜索。例如:我有番茄醬和蜂鳥的話。如果我現在搜索「hu」,它會返回這兩個詞,因爲「hu」在它們兩個中。但我只希望它能從單詞開始的順序進行搜索。

也許這整個方法應報廢別的東西......

+1

'返回$(本)的.text()。toUpperCase()。的indexOf( val)=== 0;' –

+0

謝謝,這是有效的。雖然我不清楚這一行,所以我需要打開我猜的書。 – Cake

回答

0
return -1 != $(this).text().toUpperCase().indexOf(val); 

改變這

return 0 === $(this).text().toUpperCase().indexOf(val); 
+0

謝謝你 – Cake