2011-04-25 34 views
0

嗨,我想帶回一些產品和用戶名,但是他們應該只在他們首先鍵入「@」符號時纔會復出,我該怎麼做?只有當熱鍵存在時,jquery自動完成

嗨,我設法想出這個,

<script type="text/javascript"> 
    $(function() { 
       $(".fateinp").autocomplete({ 
        source: function (request, response) { 
         $.ajax({ 
          url: "WebServices/List.asmx/FetchUsers", 
          data: "{ 'product': '" + request.term + "' }", 
          dataType: "json", 
          type: "POST", 
          contentType: "application/json; charset=utf-8", 
          dataFilter: function (data) { return data; }, 
          success: function (data) { 
           response($.map(data.d, function (item) { 
            return { 
             value: item._Name 
            } 
           })) 
          }, 
          error: function (XMLHttpRequest, textStatus, errorThrown) { 
           alert(textStatus); 
          } 
         }); 
        }, 
        minLength: 2 
       }); 
    }); 
</script> 

但是每當我加你的建議;

var autocompleter = document.getElementById(「some-element」);

我一直得到autocompleter爲null,原諒我,如果這是一個新手的問​​題。謝謝

回答

2

將自動完成(或者如果他們已經被緩存,顯示)使用這樣的東西包裝到AJAX調用。

var autocompleter = document.getElementById("some-element"); 

if (autocompleter.value.startsWith("@")) { 
    // invoke AJAX here 
} 
+0

最好的解決方案之一。 – 2011-04-25 17:25:29

+0

非常好,謝謝你的回覆,會給你一個提議 – pmillio 2011-04-25 17:29:44

+0

你好,我編輯了我的第一篇文章,告訴你我到目前爲止做了什麼,你能告訴我我要去哪裏嗎,謝謝 – pmillio 2011-04-26 00:39:48