2012-08-06 157 views
-1

我寫了一個自動完成功能。 當我點擊#input3時,它開始生成我輸入的內容。自動完成功能不完整

例如:「apple」我輸入「app」,然後單擊選擇「apple」。我選擇的內容應該發送到src並在#input2中更新。

問題:發送給src的是我輸入的內容,而不是我選擇的內容。爲什麼?

.autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: src, 
      fillin:true, 
      dataType: "json", 
      data: { 
       term : request.term, 
       c3 : $("#input3").val() 
       }, 
      success: function(data){ 
       response(data) 
       } 
      }); 
     }, 
    minLength: 0, 
    delay: 300 
    }) 
.change(function(request2, response) { 
    $.ajax({ 
     url: src, 
     dataType: "json", 
     data: { 
      term : request2.term, 
      c1 : "search", 
      c3: $("#input3").val() 
      }, 
     success: function(data){ 
      $("#input2").val(data); 
      } 
     }); 
    }) 
+0

在輸入2上綁定自定義事件,然後通過select來觸發它:並更改自動完成的事件。 – 2012-08-06 12:24:10

+0

如何通過選擇來觸發它? – 2012-08-06 12:35:16

+0

在提出另一個問題之前,請回過頭來選擇一個答案來解答你所提出的_7_個問題。 – Austin 2012-08-06 12:39:19

回答

0

我必須解決這個問題。我在.autocomplete後添加鱈魚

 focus: function(event, ui) { 
      $("#txtBufferTwo").val(ui.item.value); 
      event.preventDefault(); 
      }, 

跟着一個隱藏字段。

我所做的是一旦選擇被點擊,值被分配到隱藏字段並提交隱藏字段的值。 如果有更好的方法可以在這裏發佈

0

可以在jQuery用戶界面自動完成功能使用更改事件:

$("#your_input_id").autocomplete({ 
      source: availableTags, 
      change: function(){ 
      console.log($(this).val());//selected value 
      } 
}); 
+0

我在'minLength:0'之前添加了代碼,它沒有響應。 – 2012-08-06 13:40:29