清单项目的自动完成标签标题出现错误

时间:2019-01-28 15:10:35

标签: jquery jquery-ui

error snapshot

我正在使用自动完成功能来显示带有组标签名称的列表项。 我的自动完成工作正常,但是当我将鼠标悬停在topProduct上时,这只是列表项的某些标题进入了autocomplete,它在控制台中给出了错误。我不知道我怎么了。请给我任何解决此问题的提示。

  $("#small-searchterms").autocomplete({
                    delay: 500,                     
                    appendTo: '.search-box',
                    source: function (request, response) {
                        $.ajax({
                            url: '@(Url.RouteUrl("SearchAutoComplete"))',
                            type: 'GET',
                            cache: false,
                            data: request,
                            dataType: 'json',
                            success: function (data) {
                                //console.log(data);
                                response(data.result);
                            }
                        });
                    },
                    select: function (event, ui) {
                        console.log(ui.item);
                        if (ui.item == 'undefined' || ui.item == undefined) {
                                return false;
                        }
                        else {
                            $("#small-searchterms").val(ui.item.Name);
                            setLocation(ui.item.ImageUrl);
                                return false;
                        }
                    },                    
                }).data("ui-autocomplete")._renderItem = function (ul, item) {
                    console.log(item);
                    var t = item.Name;
                    //html encode
                    t = htmlEncode(t);
                    // title
                    if (!$(".search-box ul div").hasClass("product-title") && item.Type == "TopProducts") {                       
                        $("<div class='auto-term-suggestion product-title'><span>Top Product</span></div>")
                        .appendTo(ul);
                    }

                    if (item.ImageUrl != "") {
                        return $("<li></li>")
                            .data("item.autocomplete", item)
                            .append("<a class='ui-corner-all' href='" + item.Url + "'>" + "<img src='" + item.ImageUrl + "' />" + t + "</a>")
                            .appendTo(ul);
                    }                        
                    else {
                        return $("<li></li>")
                            .data("item.autocomplete", item)
                            .append("<a class='ui-corner-all' href='" + item.Url + "'>" + t +"</a>")
                            .appendTo(ul);
                    }
                };

0 个答案:

没有答案