我使用jQuery UI的自動完成功能在我的項目其工作正常,我的代碼是繼jQuery的UI上`Keydown`事件autocompete改變文本框的值
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
$(".tags").autocomplete({
source: function (request, response) {
loc_array = request.term.split(',');
var term = loc_array[loc_array.length - 1];
$.ajax({
url: "/Admin/Tag1/LookUpCompany",
dataType: "json",
data: "q=" + term,
success: function (data) {
response($.map(data, function (item) {
return {
value: item.Name,
Name: item.Name
};
}));
}
});
},
select: function (event, ui) {
event.preventDefault();
var terms = split(this.value);
// remove the current input
terms.pop();
// add the selected item
terms.push(ui.item.value);
// add placeholder to get the comma-and-space at the end
// terms.push("");
this.value = terms.join(",");
return false;
},
minLength: 1
});
其工作正常,但有一個問題想的時候我加載我的頁面我的文本框有價值
abc,def,ghi,
現在如果我輸入任何字符,它會給我建議的形式下拉。如果我點擊它,它會將當前值附加到單擊值,但如果我使用向下鍵從鍵盤向下移動,則它將使用當前選定值更改整個textbpx值。如何解決它?
謝謝,
嘗試,而不是event.preventDefault();在select部分添加event.stopPropagation(); – pregmatch
@pregmatch我已經嘗試過這一點,但它並不能幫助我:-( – Smartboy