我有一个动态输入字段,使用类名作为子类创建。 按键自动完成工作正常,我可以从中选择一个。
工作代码在
之下$("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');
});
除此之外,我想知道如何在输入框中设置所选文本而不是它的值。
答案 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;
}
});
这将更好地工作以获取更多信息,请继续以下链接
答案 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;
}
}
数据。