2012-02-08 14 views
1

我一直在使用Andrew Whitaker的代碼jsfiddle.net/5xbhY。我希望有人能夠幫助我爲@user和#tags這兩者工作(它們來自不同的外部數據庫,但我應該能夠編寫那些我遇到麻煩的部分是檢測哈希)。使用jquery自動完成獲取@user和#tag?

 

    var availableTags = [ 
     "ActionScript", 
     "AppleScript", 
     "Asp", 
     "BASIC", 
     "C", 
     "C++", 
     "Clojure", 
     "COBOL", 
     "ColdFusion", 
     "Erlang", 
     "Fortran", 
     "Groovy", 
     "Haskell", 
     "Java", 
     "JavaScript", 
     "Lisp", 
     "Perl", 
     "PHP", 
     "Python", 
     "Ruby", 
     "Scala", 
     "Scheme" 
     ]; 

    var startTyping = "Start typing..."; 

    function split(val) { 
     return val.split(/@/); 
    } 

    function extractLast(term) { 
     return split(term).pop(); 
    } 

    $("#tags") 
    .bind("keydown", function(event) { 
     if (event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active) { 
      event.preventDefault(); 
     } 
    }).autocomplete({ 
     minLength: 0, 
     source: function(request, response) { 
      var term = request.term, 
       results = []; 
      if (term.indexOf("@") >= 0) { 
       term = extractLast(request.term); 
       if (term.length > 0) { 
        results = $.ui.autocomplete.filter(
        availableTags, term); 
       } else { 
        results = [startTyping]; 
       } 
      } 
      response(results); 
     }, 
     focus: function() { 
      return false; 
     }, 
     select: function(event, ui) { 
      if (ui.item.value !== startTyping) { 
       var terms = this.value.split(' '); 
       terms.pop(); 
       terms.push("@" + ui.item.value); 
       this.value = terms.join(" "); 
      } 
      return false; 
     } 
    }); 

+0

[原帖](http://stackoverflow.com/questions/5972958/implementing-jquery-ui-autocomplete-to-show-suggestions-when-you-type/9189719) – Steeve17 2012-02-08 08:29:53

回答