2012-08-06 135 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