更改事件在我的項目即時通訊使用jQuery自動完成,這是偉大的工作。 問題是,我想處理的情況是用戶更改了文本的輸入。前者爲 。數據包含(「prov 1」,「prov 2」),用戶從菜單「prov 1」中選擇,但是隨後通過將2改爲1來將其更改爲「prov 2」。 我實施了「更改」事件js但ui.item是空的(我想因爲菜單沒有顯示..) 我讀到「更改」事件僅在文本框失去焦點時觸發 - >對我沒有好處,因爲流程正在選擇「prov」並單擊按鈕繼續。 有什麼建議?在自動完成jQuery
這裏是我的代碼: JS
$(element).autocomplete({
minLength: 2,
source: function (request, response) {
$.ajax({
url: requestUrl,
dataType: "json",
data: { query: request.term },
success: function (data) {
response($.map(data, function (item) {
return {
label: item.Label,
value: item.Label,
realValue: item.Value
};
}));
},
});
},
select: function (event, ui) {
var hiddenFieldName = $(this).attr('data-value-id');
$('#' + hiddenFieldName).val(ui.item.realValue);
hiddenFieldName = $(this).attr('data-value-name');
$('#' + hiddenFieldName).val(ui.item.label);
},
change: function (event, ui) {
alert('changed');
if (!ui.item) {
alert('no value'); /* IS FIRED */
} else {
}
}
});
});
你好,感謝對你有所幫助,但仍然沒有解決的主要問題。問題是,當用戶重新輸入時,我失去了ui元素,因爲選中的元素已經被觸發,所以這是我得到的最後一個id和名稱,儘管用戶更改了名稱。有沒有辦法重新輸入源,然後用戶更改輸入? – eyalewin