未触发 JQuery 自动完成选择事件
Posted
技术标签:
【中文标题】未触发 JQuery 自动完成选择事件【英文标题】:JQuery autocomplete select event not fired 【发布时间】:2018-10-11 20:45:29 【问题描述】:我尝试进行自动完成输入,就像我过去有时所做的那样。 但是今天我不得不面对一个我无法真正理解的问题。
$( "#search_collab_autocomplete" ).autocomplete(
appendTo :$('.form-add-new-user'),
source : function(requete, response)
$.ajax(
url : $('.form-add-new-user').data('url'),
dataType : 'json',
data :
email : $('#search_collab_autocomplete').val(),
,
success : function(data)
var arr = [];
var i = 0;
var fullObj = data;
$.each(data, function(index, value)
var obj =
id: index,
email: value,
;
arr[i] = obj;
i++;
);
response(arr, fullObj);
,
select: function( event, ui )
console.log("hi");
);
,
minLength: 3
).data( "ui-autocomplete" )._renderItem = function( ul, item )
return $( "<li></li>" ).data("item.autocomplete", item)
.append( "<a>"+item.email + "</a>")
.appendTo( ul );
;
我有这段代码,它是部分工作,因为我可以在我的输入字段下方看到结果列表。
但是当我点击/当我用键盘选择一个项目时,我看不到任何事情发生......甚至不是简单的console.log('hi');
....
我是不是用错了select
?
【问题讨论】:
您的商品必须在response()
发送的结果数据中成对出现在response()
不过,select
事件永远不会触发...
您可能需要检查所有语法是否正确。如果没有数据或不正确的数据传递给response()
,则无法显示任何项目,因此无法选择任何项目。这将阻止select
事件触发。
但是整个autocomplete
工作正常,我可以使用它。唯一的问题是这个事件没有被触发,我找到了另一种实现我想要的方法..
【参考方案1】:
您的“选择”附加到 $.ajax。它必须与“source”和“minLength”处于同一级别。
【讨论】:
以上是关于未触发 JQuery 自动完成选择事件的主要内容,如果未能解决你的问题,请参考以下文章