jquery autocomplete获取所选项目文本

时间:2011-06-21 08:13:55

标签: javascript jquery autocomplete

我想知道如何在jquery自动完成时获取所选项目的文本值。

我已将jquery初始化为:

$(document).ready(function (){
    $("input#autocomplete").autocomplete({
        source: postcodelist,
        select: function (event, ui) {
            AutoCompleteSelectHandler(event, ui)
        }
    });
});

我创建了一个函数函数AutoCompleteSelectHandler(event,ui){}。

在这个函数中我想要一些额外的处理来将数据提供到正确的文本框中,但我无法弄清楚如何获取所选项目的文本值。

我做了一些谷歌尝试了一些例子,但我似乎无法让它发挥作用。

非常感谢任何帮助。

非常感谢。

4 个答案:

答案 0 :(得分:31)

ui参数具有item属性,其中包含所选文本

function AutoCompleteSelectHandler(event, ui)
{               
    var selectedObj = ui.item;              
    alert(selectedObj.value);
}

来源:http://jqueryui.com/demos/autocomplete/#event-select转到“事件”标签,然后转到事件“选择”

答案 1 :(得分:13)

// list of clients
        $( "#client" ).autocomplete({
        source: "lib/getClientList.php",
        minLength: 2,
        select: function(event, ui) {
            alert(ui.item.value);
             }
        })

ui.item.value 是jquery用于为输入分配值的引用

答案 2 :(得分:4)

您不需要将匿名函数作为包装应用,您可以直接传递函数ref。

$(document).ready(function (){
   $("input#autocomplete").autocomplete({
        source: postcodelist,
        select: AutoCompleteSelectHandler
    });
});

在该方法中,您可以访问thisevent.target来获取当前值,这两个值都引用了输入元素:

function AutoCompleteSelectHandler(event, ui) {
    alert( $(event.target).val() );
    alert( $(this).val() );

    // alert( this.value );
}

答案 3 :(得分:1)

您只需从输入中获取值,就像用户在自己输入内容一样:

$('input#autocomplete').val()