【发布时间】:2019-09-27 22:44:39
【问题描述】:
我尝试使用 jQuery UI 自动完成功能来显示一些数据并选择它。 但是我在控制台中看到了一些错误 我收到一个 javascript 错误(项目未定义)。 我的代码是
jq 版本: jquery-ui-1.10.3.custom.min.js jq-ui版: jquery-1.10.2.min.js
$("#searchterms").autocomplete({
minLength: 2,
source: '@(Url.RouteUrl("OrderSkuSearch"))',
focus: function (event, ui) {
$("#searchterms").val(ui.item.label);
$("#productid").val(ui.item.id);
console.log("focus: " + ui.item.id);
return false;
},
select: function (event, ui) {
$("#searchterms").val(ui.item.value);
$("#productid").val(ui.item.id);
console.log("select: " + ui.item.id);
return false;
},
autoFocus: true,
delay: 3000
})
.data("ui-autocomplete")._renderItem = function (ul, item) {
//if ($("#productid").val() == "") {
// $("#productid").val(item.id);
//}
$("#productid").val(item.id);
return $("<li>")
.append("<a>" + item.value + ">" + item.label + "</a>")
.appendTo(ul);
};
返回类型为列表:
[{"label":"Build your own computer","value":"COMP_CUST","id":1}]
【问题讨论】:
-
不确定问题出在哪里,但我看到了
.append("<a>" + item.value + ">" + item.label + "</a>"),这并没有正确的 HTML 语法。建议您提供发送查询时 URL 返回的数据示例。
标签: jquery jquery-ui autocomplete