我正在使用jquery自动完成进行编码,我的目的只是用([Image] [Name])显示自定义视图。当我只使用自动完成代码与标准renderItem(没有设置)自动完成工作完美但没有图像我想显示但是当我设置_renderItem它完美地显示项目但是当选择/聚焦它时我得到ui.item是未定义的。请你帮助我好吗?这是我的代码:
使用Jquery-ui 1.11.2和Jquery 1.10.2:
$("#iSearch").autocomplete({
source: function (request, response) {
var psField = "produtoNome";
$.ajax({
url: "/Search/PesquisaParcial",
data: "{'psField':'" + psField + "', 'psTerm':'" + request.term + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
//{ label: item.ProdutoFoto, value: item.ProdutoNome }
response($.map(data, function (item) {
return { label: item.ProdutoFoto, value: item.ProdutoNome, data: item };
}));
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
},
focus: function (event, ui) {
$("#iSearch").val(ui.item.value);
return false;
},
select: function (event, ui) {
$("#iSearch").val(ui.item.value);
return false;
},
minLength: 2
}).autocomplete("instance")._renderItem = function (ul, item) {
var produtoFoto = item.data.ProdutoFoto == null ? "../Images/semfoto.png" : "../Images/" + item.data.ProdutoFoto;
var FotoHtml = "<img src='" + produtoFoto + "' width='35' height='30' />";
return $("<li>")
.append("<a>" + FotoHtml + " " + item.value + "</a>")
.appendTo(ul);
};
答案 0 :(得分:0)
我发现了什么问题!!!
我会在这里发帖,因为它可以帮助其他有同样问题的人。我为解决这个问题做了什么:
在BundleConfig.cs中,我刚刚插入了对jquery-ui的引用:
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
@section scripts { ... Javascript自动填充代码... }