我在JSP中使用JQuery UI Autocomplete。每当用户键入字符时,我向服务器发出请求并将数据作为JSON获取并使用pulgin加载。
工作正常。但每当我输入与前一个词相同的角色时。它没有填充任何值。
例如,首先我键入p,它列出了p个起始元素。我有按钮来重置自动填充器的文本内容。重置后,如果我输入相同的字符p,它不会显示任何内容。
我的代码如下,
var cache = {};
$("#Name").autocomplete({
source: function(req, add){
if (req.term in cache) {
add(cache[req.term]);
return;
}
$.getJSON("/store/StockManagement?action=getMedicinesStock",req, function(data) {
var medicines = [];
$.each(data, function(i, val){
medicines.push(val.name + "," + val.code);
});
cache[req.term] = medicines;
add(medicines);
});
},select: function(e, ui) {
var medicine = ui.item.value;
$('#Code').val(medicine.split(",")[1]);
setTimeout(function(){
var med = $('#Name').val();
$('#Name').val(med.split(",")[0]);
},500);
}
});
答案 0 :(得分:0)
// Taken from jquery-ui-1.8.4.custom.min.js
if (a.term != a.element.val()) { // *** THE MATCH IS HERE
//console.log("a.term != a.element.val(): "+a.term+", "+a.element.val());
a.selectedItem = null;
a.search(null, c) // *** SEARCH IS TRIGGERED HERE
}
我刚评论了这个条件。现在它的工作正常。