Javascript 如何通过自动完成单击来聚焦好的内容?

Javascript 如何通过自动完成单击来聚焦好的内容?,javascript,jquery,jquery-plugins,jquery-events,Javascript,Jquery,Jquery Plugins,Jquery Events,我有一个输入文本,当它失去焦点时,脚本POST会更新服务器中的文本,但当我单击“自动完成”选项时,发送的文本不同,请看: <script> $(document).ready( function() { var values = ["value1", "value2", "value3", "...", "value4"]; $('input').bind( 'focusout', function() { $.post( '/add_value', $('f

我有一个输入文本,当它失去焦点时,脚本POST会更新服务器中的文本,但当我单击“自动完成”选项时,发送的文本不同,请看:

<script>
$(document).ready( function() {
   var values = ["value1", "value2", "value3", "...", "value4"];
   $('input').bind( 'focusout', function() {
      $.post( '/add_value', $('form').serialize(), function(data) {} );
   });
   $('input').autocomplete({source:values} );
});
</script>
<form>
   <input type="text"/>
</form>
当用户单击“自动完成”框时,输入将失去焦点,并将值va发送到服务器,而不是单击的值

问题是:如何控制click事件以在autocomplete中而不是在writer中发送单击的值。

添加以下内容:

var send_now = true;

$('input').bind( 'focusout', function() {
   if (send_now) {
          $.post( '/add_value', $('form').serialize(), function(data) {} );
      }
   });

$('.attribute_name').autocomplete( { source: values} );  

$('form').delegate( 'input', 'autocompleteopen', function() {                        
    send_now = false;
});

$('form').delegate( 'input', 'autocompleteclose', function() {
    $(this).focus();
    send_now = true;                    
});
选中中的选择事件
var send_now = true;

$('input').bind( 'focusout', function() {
   if (send_now) {
          $.post( '/add_value', $('form').serialize(), function(data) {} );
      }
   });

$('.attribute_name').autocomplete( { source: values} );  

$('form').delegate( 'input', 'autocompleteopen', function() {                        
    send_now = false;
});

$('form').delegate( 'input', 'autocompleteclose', function() {
    $(this).focus();
    send_now = true;                    
});