jquery autocomplete如何设置标签以及如何获取价值?

时间:2016-07-18 11:12:24

标签: javascript jquery

我有一个动态输入字段,使用类名作为子类创建。 按键自动完成工作正常,我可以从中选择一个。

工作代码在

之下
$("body").on('keypress', 'input.sub-category', function () {
        var availableTags = [
            {label:"ActionScript", value:"1"},
            {label:"ActionScript1", value:"11"},
            {label:"ActionScript2", value:"12"},
            {label:"ActionScript3", value:"13"},
            {label:"ActionScript4", value:"14"},
        ];
        $(this).autocomplete({
            source: availableTags,
        });
    });

当我选择其中一个自动建议的文字说'ActionScript'时,它的值(1)应该在下面的代码中可用,我如何访问它?在选择警报功能工作正常,所以只需要知道如何访问所选标签的值。

$("body").on('autocompleteselect', 'input.sub-category', function () {
        alert('here');
});

除此之外,我想知道如何在输入框中设置所选文本而不是它的值。

2 个答案:

答案 0 :(得分:2)

你需要包含jquery-ui文件 您文件中的“https://code.jquery.com/ui/1.12.0/jquery-ui.js” 和 只需替换

 $("body").on('autocompleteselect', 'input.sub-category', function () {
        alert('here');
});

以下行。

$("body").on('autocompleteselect', 'input.sub-category', function (event,ui)     {
    alert(ui.item.label);
    alert(ui.item.value);

});

$(this).autocomplete({
        source: availableTags,
    });

$(this).autocomplete({
        source: availableTags,
        select:function(event,ui){
           $(".sub-category").val(ui.item.label);return false;
        }
    });

这将更好地工作以获取更多信息,请继续以下链接

http://api.jqueryui.com/autocomplete/

答案 1 :(得分:0)

非常简单!

它在这里http://api.jqueryui.com/autocomplete/#event-select
它说,你可以用这种方式绑定处理程序

$( ".selector" ).on( "autocompleteselect", function( event, ui ) {} );

其中ui是具有item的对象,而label又选择了value$authors['email'] = array(); $authors['name'] = array(); foreach (json_decode($response)->response->docs AS $docs) { $articleAuthors = explode(', ', $docs->authors); $i=0; foreach ($docs->email as $email) { array_push($authors['email'], $email); array_push($authors['name'], $articleAuthors[$i]); ++$i; } } 数据。