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…我会尝试回复你。