2011-12-15 17 views
4

我不知道如何修改以下代碼,該代碼將向我顯示帶有輸入字符的字首。例如:如果我鍵入E或e它顯示我「電氣,電子,機械」但我只想要「電氣,電子」被顯示。怎麼做?我正在使用jquery autocomplete插件。如何:修改jquery.autocomplete正則表達式以顯示以給定輸入開始的結果

source: function(request, response) { 
     var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i"); 
     response(select.children("option").map(function() { 

     var text = $(this).text(); 
     if (this.value && (!request.term || matcher.test(text))) 
      return { 
      label: text.replace(
       new RegExp(
       "(?![^&;]+;)(?!<[^<>]*)(" + 
        $.ui.autocomplete.escapeRegex(request.term) + 
        ")(?![^<>]*>)(?![^&;]+;)", "gi" 
       ), "<strong>$1</strong>"), 
      value: text, 
      option: this 
      }; 
     })); 

回答

9

在Javascript中的RegExp,^意味着startsWith

var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i"); 
+0

@Saurabh的 'i' 的參數表示該正則表達式將會忽略大小寫。換句話說,搜索不會區分大小寫,因此,如果輸入'm'小寫,結果仍然會返回'Mechanical'。 – falsarella 2011-12-15 13:32:10

相關問題