2010-12-02 219 views
0

我在JSP中使用JQuery UI自動完成。無論何時用戶鍵字符,我向服務器發出請求並以JSON形式獲取數據並使用pulgin加載。JQuery自動完成問題

它工作正常。但是每當我輸入與前一個字詞相同的字符。它沒有填充任何值。

例如,首先我鍵入p,它列出了p個開始元素。我有按鈕來重置autocompleter的文本內容。重置後,如果我輸入相同的字符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
// 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 
} 

我只是評論的條件。現在它工作正常。