代码之家  ›  专栏  ›  技术社区  ›  Luke

在用户单击输入字段外部之前,不会触发自动完成jQuery更改

  •  0
  • Luke  · 技术社区  · 7 年前

    我对jQuery自动完成有问题。我正在尝试检索用户从自动完成列表中选择的值

    $( ".autocomplete" ).autocomplete({
      change: function( event, ui ) {
          var SelectedValue = $(#autocomplete).val();
        }
    });
    

    我的密码是:

    <div>
     <input id="autocomplete" type="text" />
    </div>
    

    Jquery代码:

    $( function() {
    
    $( "#autocomplete" ).autocomplete({
          source: function( request, response ) {
            $.ajax( {
              url: "items.php",
              dataType: "json",
              data: {
                term: request.term
              },
              success: function( data ) {
              response( data );
              }
            } );
          },
          minLength: 1,
          select: function( event, ui ) {
    
            $("#autocomplete").val(ui.item.value);
        },
    
     } );
    
    }); 
    

    我试过下面的方法,但没有成功。 $("#autocomplete").val(ui.item.value).trigger('change')

    任何帮助都将不胜感激!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Salman Arshad    7 年前

    你只需要抓住 select 像这样的事件:

    $("#autocomplete").autocomplete({
        select: function (event, ui) {
            var SelectedValue = ui.item.value;
        }
    });
    

    没必要这么做 $("#autocomplete").val(ui.item.value) ... 选择事件处理程序为您执行此操作。