0
这里是场景1:用户开始键入一些字,自动完成的发动机示出了表明列表(AJAX请求之后)。用户点击该列表中的某个项目。选择事件已被触发。一切安好。jQuery的自动完成手动输入
场景2:用户开始键入一些字,自动完成的发动机示出了表明列表(AJAX请求之后)。但是这次用户没有点击物品并转到另一个区域。 select事件尚未被触发。但是输入的用户值是正确的。我如何手动触发选择事件? 谢谢。
这里是场景1:用户开始键入一些字,自动完成的发动机示出了表明列表(AJAX请求之后)。用户点击该列表中的某个项目。选择事件已被触发。一切安好。jQuery的自动完成手动输入
场景2:用户开始键入一些字,自动完成的发动机示出了表明列表(AJAX请求之后)。但是这次用户没有点击物品并转到另一个区域。 select事件尚未被触发。但是输入的用户值是正确的。我如何手动触发选择事件? 谢谢。
$(document).on('blur', "#inputField", function() {
$(this).trigger('autocompleteselect');
});
从KARTHIK的建议,一个解释:绑定在输入框的模糊事件的处理程序,这样,当用户离开现场,它运行。这个函数然后调用触发器应该(理论上)也绑定到这个输入框的'autocompleteselect'事件。由于nKognito说这不起作用......好吧,我想我需要再看一些代码才能进一步排除故障。
编辑
好了,根据您的jsfiddle,我尝试过,但未能获得触发autocompleteselect工作。所以,现在,我的建议是:
var list = [{id:1,Name:"John"},{id:2,Name:"Johna"}];
$('#a').autocomplete({
source: function(request, response) {
response($.map(list, function(item) {
return {id : item.id, label : item.Name};
}));
},
minLength: 2,
select: function() { selectHanlder(this) }
}).blur(function() { selectHandler(this) });
function selectHandler(this) {
// do what you will
}
这只是调用相同的处理作为autocompleteselect,在模糊事件。应该是相同的效果。
@杰克:试着给出解释你的答案。因此,每个人都可以理解你想说什么。 – karthik 2011-12-22 05:16:25
不起作用。 jQuery的 - 1.7.1,UI - 16年1月8日从 – nKognito 2011-12-22 05:18:46
反馈 – 2011-12-22 05:41:12