JQuery自动完成问题

时间:2010-12-02 11:15:39

标签: jquery-ui

我在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);
         }
     });

1 个答案:

答案 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
}

我刚评论了这个条件。现在它的工作正常。