Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置_renderItem时单击/获取未定义的ui.item_C#_Jquery_Asp.net Mvc_Autocomplete - Fatal编程技术网

C# 设置_renderItem时单击/获取未定义的ui.item

C# 设置_renderItem时单击/获取未定义的ui.item,c#,jquery,asp.net-mvc,autocomplete,C#,Jquery,Asp.net Mvc,Autocomplete,我正在使用jqueryautocomplete进行编码,我的目的只是用[Image][Name]显示一个自定义视图。当我只是在标准renderItem中使用autocomplete代码而没有设置它时,autocomplete工作得很好,但没有我想要显示的图像。然而,当我设置_renderItem时,它完美地显示项目,但当选择/聚焦它时,我得到了ui.item未定义。你能帮帮我吗?这是我的密码: 使用Jquery ui 1.11.2和Jquery 1.10.2: $("#iSearch").aut

我正在使用jqueryautocomplete进行编码,我的目的只是用[Image][Name]显示一个自定义视图。当我只是在标准renderItem中使用autocomplete代码而没有设置它时,autocomplete工作得很好,但没有我想要显示的图像。然而,当我设置_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 + "&nbsp;&nbsp;" + item.value + "</a>")
        .appendTo(ul);
};
我发现出了什么问题

我将在这里发布,因为它可以帮助其他有同样问题的人。我是如何解决这个问题的:

通过nuget jquery 1.11.2和jquery ui 1.11.2安装 我在index.cshtml代码中直接链接到jss和css,然后我从那里删除了它们 在BundleConfig.cs中,我刚刚插入了对jquery ui的引用:

    bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                "~/Scripts/jquery-ui-{version}.js"));
将javascript自动完成代码放入Index.cshtml脚本部分,如下所示: @节脚本{ …Javascript自动完成代码。。。 }

自动完成工作快乐!
你能分享一些样品数据吗!这是一个简单搜索的答案。JSon如下:[{Type:0,Produtoid:138,ProdutoNome:camiseta ecológica,ProdutoFoto:null,Feiranteid:30,FeiranteNome:Aluísio de Paula,descripcaofirante:camiseta ecológicas de garrafas pet,EnderecoFeirante:,categoriaaid:8,categoriaaid:1,catorianome:Moda,cateriapai:null,descripcacatoria:Moda,barracaid:30,barracoa:Barraca:30,barracalatitude:-25.427026,Barracalalongity:-49.271824,FeiraId:1,FeiraNome:Feira do Largo da Ordem}]看起来很好-确实如此。通过fiddle它很好,但是在我的代码中,我无法单击,焦点事件没有设置dropdownlist值。我已经搜索了错误的库,并尝试重新安装jquery。我正在使用VIsual Studio 2013。你知道可能是什么问题吗?