2013-12-16 66 views
0

我想使一個.jsp文件的自動完成,但下拉不顯示出來。jQueryUI - 自動完成不顯示與JSON下拉

var cod = document.getElementById('item').value; 

$('input#item').autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: "autocomplete.jsp?cod="+cod, 
      dataType: "json", 
      minLength: 2, 
      data: { 
      maxRows: 12 
      }, 
      success: function(data) { 
       alert(data); 
       response(data); 
      } 
     }); 
     } 
}); 

我看着Chrome上的'Networks',它調用帶參數的url並返回OK,但下拉不顯示。 PS:來自'alert(data)'的警報對話框也沒有出現。

+0

其意味着你正在做的調用有一些問題..嘗試把錯誤:阻止,看看你是否得到任何錯誤 – Gautam

回答

0

你正在努力工作 - 做一些你不需要的東西。並且一些用於自動完成功能的參數被傳遞給ajax函數 - 例如minLength。讓我們重組調用是這樣的:

$(window).load(function() { 
    $('input#item').autocomplete({ 
     source: 'autocomplete.jsp?maxRows=12', 
     minLength: 2, 
     select: function (event, ui) { 
      alert(ui.item.value + ' ' + ui.item.label); 
     }, 
    }); 
}); 

在你的JSP,而不是「鱈魚」,你會得到一個名爲參數「這個詞。」這是自動填充小部件的自動行爲。

您的jsp將需要返回一個JSON數組。這個數組的每個元素也是一個包含兩個成員的數組,一個「值」和一個「標籤」。

+0

仍然無法正常工作......我把一個錯誤:alert('error')和它每次在輸入字段上輸入內容時都會顯示出來。我的輸入字段html:

lucasdc

+0

你把這個警報('錯誤')放在哪裏? – mcarson

+0

你的代碼工作。我看了一下我的代碼,並且出現了一些語法錯誤。謝謝。 – lucasdc