Jquery ui Jquery自动完成选择不工作

Jquery ui Jquery自动完成选择不工作,jquery-ui,jquery,Jquery Ui,Jquery,我想选择自动完成框项目列表。但它不起作用。我写这段代码是为了得到这个项目。每当我使用self.\u renderItemData=function(ul,item)此函数时,选择将停止,当我注释此函数时,我的代码工作正常。请帮助我知道我错在哪里。我已经使用jQueryUI1.9编写了代码 $(document).ready(function () { var term = ""; var type = ""; var key = ""; $("#searchTex

我想选择自动完成框项目列表。但它不起作用。我写这段代码是为了得到这个项目。每当我使用
self.\u renderItemData=function(ul,item)
此函数时,选择将停止,当我注释此函数时,我的代码工作正常。请帮助我知道我错在哪里。我已经使用jQueryUI1.9编写了代码

$(document).ready(function () {
    var term = "";
    var type = "";
    var key = "";
    $("#searchTextBox").autocomplete({
        minLength: 2,
        autoFocus: true,
        source: function (request, response) {
            $.ajax({
                url: "../CustomHandlers/SearchHandler.ashx",
                dataType: "json",
                contentType: 'application/json; charset=utf-8',
                data: { term: request.term },
                success: function (data) {
                    if (!data || data.length == 0) {
                        response([{
                            label: "noMatched",                               
                            hcount:0,
                            type: "noResult",
                            key: "noResult"                             
                        }]);                            
                    }
                    else {
                        response($.map(data, function(item) {
                            return {
                                label: item.label,                                   
                                hcount:item.record,
                                type: item.type,
                                key: item.key
                            }
                        }))
                    }                    
                }                   
            });

            $.ui.autocomplete.prototype._renderMenu=function (ul, items) {
                var self = this;
                currentType = "";
                $.each(items, function (index, item) {
                    if (item.type != currentType) {
                        ul.append("<li class='ui-autocomplete-type'>" + item.type + "</li>");
                        currentType = item.type;
                    }

                    self._renderItemData(ul, item);

                });
                self._renderItemData = function (ul, item) {
                    var searchhtml = "<a class='autocomplitList'>" + item.label + "<span>" + "(" + item.hcount + ") " + "</span>" + "</a>";
                    return $("<li></li>")
                            .data("item.autocomplete", item)
                            .append(searchhtml)
                            .appendTo(ul);
                };
            }

        }

        , select: function (event, ui)
        {  
                term = ui.item.label;
                type = ui.item.type;
                key = ui.item.key;
               // ui.item.option.selected = true;


               //  $("#searchTextBox").val(ui.item.label);
                // return false;
                //var selectedObj = ui.item.key;
             //   alert("Selected: " + selectedObj);  
        }
        ,open: function (event, ui) {
                //event.addClass("nodis");
        }
        ,close: function () {
            // event.removeClass("nodis")
            this._trigger("close");
            }


    });
$(文档).ready(函数(){
var术语=”;
var type=“”;
var key=“”;
$(“#搜索文本框”).autocomplete({
最小长度:2,
自动对焦:对,
来源:功能(请求、响应){
$.ajax({
url:“../CustomHandlers/SearchHandler.ashx”,
数据类型:“json”,
contentType:'application/json;charset=utf-8',
数据:{term:request.term},
成功:功能(数据){
如果(!data | | data.length==0){
回应([{
标签:“无匹配”,
hcount:0,
类型:“noResult”,
键:“诺雷索”
}]);                            
}
否则{
响应($.map)(数据、功能(项){
返回{
标签:item.label,
hcount:项目记录,
类型:item.type,
key:item.key
}
}))
}                    
}                   
});
$.ui.autocomplete.prototype.\u renderMenu=函数(ul,项){
var self=这个;
currentType=“”;
$。每个(项目、功能(索引、项目){
如果(item.type!=currentType){
ul.追加(“
  • ”+item.type+”
  • ”; currentType=item.type; } 自提交数据(ul,项目); }); self.\u renderItemData=功能(ul,项目){ var searchhtml=”“+item.label++”(“+item.hcount++”)++; 返回$(“
  • ”) .data(“item.autocomplete”,item) .append(searchhtml) .附录(ul); }; } } ,选择:功能(事件,用户界面) { term=ui.item.label; type=ui.item.type; key=ui.item.key; //ui.item.option.selected=true; //$(“#searchTextBox”).val(ui.item.label); //返回false; //var selectedObj=ui.item.key; //警报(“选定:+selectedObj”); } ,打开:函数(事件,用户界面){ //事件。添加类(“nodis”); } ,关闭:函数(){ //event.removeClass(“nodis”) 本._触发(“关闭”); } });
    试试这个

    $(document).ready(function() {
        var term = "";
        var type = "";
        var key = "";
    
        $.ui.autocomplete.prototype._renderMenu = function(ul, items) {
            var self = this;
            currentType = "";
            $.each(items, function(index, item) {
                        if (item.type != currentType) {
                            ul.append("<li class='ui-autocomplete-type'>"
                                    + item.type + "</li>");
                            currentType = item.type;
                        }
    
                        self._renderItemData(ul, item);
    
                    });
            self._renderItemData = function(ul, item) {
                var searchhtml = "<a class='autocomplitList'>" + item.label
                        + "<span>" + "(" + item.hcount + ") " + "</span>" + "</a>";
                return $("<li></li>").data("item.autocomplete", item)
                        .append(searchhtml).appendTo(ul);
            };
        }
    
        $("#searchTextBox").autocomplete({
                    minLength : 2,
                    autoFocus : true,
                    source : function(request, response) {
                        response([{
                                    label : "Value 1",
                                    hcount : 0,
                                    type : "t1",
                                    key : "v1"
                                }, {
                                    label : "Value 2",
                                    hcount : 0,
                                    type : "t1",
                                    key : "v2"
                                }, {
                                    label : "Value 3",
                                    hcount : 0,
                                    type : "t2",
                                    key : "v3"
                                }, {
                                    label : "Value 4",
                                    hcount : 0,
                                    type : "t3",
                                    key : "v4"
                                }]);
                    }
    
                    ,
                    select : function(event, ui) {
                        term = ui.item.label;
                        type = ui.item.type;
                        key = ui.item.key;
                        // ui.item.option.selected = true;
    
                        // $("#searchTextBox").val(ui.item.label);
                        // return false;
                        // var selectedObj = ui.item.key;
                        // alert("Selected: " + selectedObj);
                    },
                    open : function(event, ui) {
                        // event.addClass("nodis");
                    },
                    close : function() {
                        // event.removeClass("nodis")
                        this._trigger("close");
                    }
    
                });
    
        $("#searchTextBox").data('autocomplete')._renderMenu = function(ul, items) {
            var that = this;
            var currentType = "";
            $.each(items, function(index, item) {
                        if (item.type != currentType) {
                            ul.append("<li class='ui-autocomplete-type'>"
                                    + item.type + "</li>");
                            currentType = item.type;
                        }
                        $("<li></li>").addClass('newp').append($("<a></a>")
                                .text(item.label)).appendTo(ul).data(
                                "ui-autocomplete-item", item);;
                    });
        }
    });
    
    $(文档).ready(函数(){
    var术语=”;
    var type=“”;
    var key=“”;
    $.ui.autocomplete.prototype.\u renderMenu=函数(ul,项){
    var self=这个;
    currentType=“”;
    $。每个(项目、功能(索引、项目){
    如果(item.type!=currentType){
    追加(
  • ) +item.type+“
  • ”; currentType=item.type; } 自提交数据(ul,项目); }); self.\u renderItemData=功能(ul,项目){
    var searchhtml=“

    请做一个JSFIDDLE感谢Arun…我会尝试回复你。