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