在玩了一下jQuery的自动完成功能之后,我无法点击选择事件来点击.这很奇怪,因为当鼠标拖过列表中的每个元素时会触发onfocus事件.从我到目前为止所尝试的情况来看,看起来并没有内置的方法可以点击onclick选择事件.我错过了什么吗?或者,过去人们有另一种处理方式吗?
提前致谢,
布兰登
解决方法
所选事件应在单击时自动触发.请考虑以下代码块.在这里,我传递了一组处理程序,以决定使用什么URL,将自动完成行为附加到哪个标签等等.最终制作一个ajax请求来填充自动完成列表.
ActivateInputFieldSearch: function (callBack,fieldID,urlHandler,labelHandler,valueHandler) { $("#" + fieldID).autocomplete({ source: function (request,response) { var requestUrl; if (_.isFunction(urlHandler)) { requestUrl = urlHandler(request); } else { requestUrl = urlHandler; } $.ajax({ url: requestUrl,dataType: "json",data: { maxRows: 10,searchParameter: request.term },success: function (data) { response($.map(data,function (item) { var dataJson = $.parseJSON(item); return { label: labelHandler(dataJson),value: valueHandler(dataJson),data: dataJson }; })); } }); },minLength: 0,select: function (event,ui) { if (callBack) { callBack(ui.item); } },open: function () { $(this).removeClass("ui-corner-all").addClass("ui-corner-top"); },close: function () { $(this).removeClass("ui-corner-top").addClass("ui-corner-all"); },focus: function (event,ui) { $("#" + fieldID).val(ui.item.value); } }); }