我正在尝试使用.jsp文件进行自动完成,但下拉列表未显示。
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上查看了“网络”,并使用参数调用了网址,然后返回确定,但下拉菜单没有显示。 PS:来自'alert(data)'的警报对话框也没有出现。
答案 0 :(得分: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中,你将收到一个名为“term”的参数,而不是“cod”。这是自动完成小部件的自动行为。
你的jsp需要返回一个JSON数组。该数组的每个元素也是一个包含两个成员的数组,“值”和“标签”。