Jquery Autocomplete 結合 asp.net 使用要點

來源:互聯網
上載者:User

Jquery的Autocomplete是一個很好的智能提示外掛程式,但是在實際使用過程中還是會遇到一些小問題,

問題1:從webserver或者一般應用處理常式(.ashx)程式得到json字串時不能自動識別,被解釋成了string類型的。其實解決這個問題不是很難,只需要重載一個方法即可,下面把部分代碼貼出來:標紅的部分需要注意。

            

                 $("#txt").autocomplete("http://www.cnblogs.com/xxxx.ashx",
                            {
        extraParams:{id:ID,name:Name},
     minChars: 0,
     mustMatch: true,
  autoFill: true,
  selectFirst: true,
  scrollHeight: 220,
  width:640,
  scroll:true,
  
  
  parse: function(data){          
        var obj=eval("("+data+")");
        var row = [];  
        for(var i = 0; i<obj.length; i++){  
            row[i] = {data:obj[i],  //json
                      value: obj[i].id, //列表中中的值
                      result: obj[i].name};   //顯示到下拉式清單中的
        }  
               return row;
          
       } ,

  formatItem: function(row, i, total) {   
                               },
        formatMatch: function(row, i, max) {
                               },
                    
                 formatResult: function(row, i, max) {               
                     }             
 });

 

這樣問題就可以解決了,但是出現了一個新的問題,就是formatItem和formatMatch兩個事件都失效了,暫時不知道怎麼解決。但是要是想在填入結果時做一些操作還是可以實現的,那就是調用這個方法,要注意,這個是和前一個$("#txt").autocomplete分開寫的,寫在上面那個Binder 方法的最下面就好了。

 $("#txt").result(function(event, data, formatted) {
                });

具體的參數含義可以參考官方的開發文檔。目前我用到的功能就這麼多,以後如果遇到新的再補充。

補充一點:$("#txt").flushCache();方法是用來清空autocomplete緩衝的,有時候改變參數後會有緩衝遺留問題。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.