2012-07-23 13 views
0

我是jquery的新手。我已經閱讀並在自動完成方法中嘗試了許多不同的事件來做我想做的事,但沒有成功。jquery AutoComplete保存搜索字符串輸入

反正我有Curently當一個項目被選中我保存ID名爲的ContactID 一個隱藏的輸入現在,如果用戶輸入一些文字,不返回任何結果我的自動完成功能如下

$(document).ready(function() { 
     $("#SearchContactWorker") 
     .each(function() { 
      var urlloc = "/Worker/FindWorkers"; 

      $(this).autocomplete({ 
       source: function (request, response) { 
        $.ajax({ 
         url: urlloc, type: "POST", dataType: "json", 
         data: { searchString: request.term, maxResults: 10 }, 
         success: function (data) { 
          response($.map(data, function (item) { 
            return { label: item.name, value: item.name, id: item.id } 
          })) 

         } 
        }) 
       }, 
       select: function (event, ui) { 
        $("[id$='ContactID']").val(ui.item.id); 
       } 
      }); 
     }); 
    }); 

想要將該文本保存在名爲ContactFullName的不同隱藏輸入類型中。如何執行此操作?

由於提前

回答

0

我認爲你正在尋找的change事件:

$(this).autocomplete({ 
    source: function (request, response) { 
     $.ajax({ 
      url: urlloc, type: "POST", dataType: "json", 
      data: { searchString: request.term, maxResults: 10 }, 
      success: function (data) { 
       response($.map(data, function (item) { 
         return { label: item.name, value: item.name, id: item.id } 
       })) 

      } 
     }) 
    }, 
    change: function (event, ui) { 
     if (ui.item) { 
      $("[id$='ContactID']").val(ui.item.id); 
     } else { 
      $("#ContactFullName").val(this.value); 
     } 
    } 
}); 
  • ui.itemnull如果用戶沒有選擇一個項目。
  • 請注意,change事件在字段模糊不清時觸發。
+0

感謝您的幫助。更改事件的一個問題,它只會在自動填充框丟失焦點時觸發。有沒有其他事件可以使用? – superartsy 2012-07-24 13:47:24