如何让 jQuery UI 自动完成功能在旧版本的 jQuery UI 中工作?
How can I make jQuery UI Autocomplete work in an older version of jQuery UI?
我正在尝试向我的网页添加一个自动完成小部件,一个个性化的小部件。在我自己的配置出现几个问题后,我决定直接在我的网页中尝试 official example,完成我在那里阅读的所有内容,然后替换这个
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<div>" + item.label + "<br>" + item.desc + "</div>" )
.appendTo( ul );
};
有了这个
.data("uiAutocomplete")._renderItem = function (ul, item) {
return $("<li>")
.append("<div>" + item.label + "<br>" + item.desc + "</div>")
.appendTo(ul);
};
因为我正在使用 jQuery UI 1.10.4 并且我无法更新它(我的老板不希望我这样做)。我无法使该示例工作,而且我知道如果我让它工作,我将不会有任何问题来适应它必须做的事情。
拜托,你知道如何让它发挥作用吗?提前致谢。
好吧,最后我放弃了。我克服这种情况的方法是将我正在转换的 DTO 调整为 JSON 并将其发送到浏览器以自动完成所需的格式。该格式包含三个字段:
{
id: ...,
label: ...,
value: ...
}
之后,我就这样配置了自动完成:
$("#<%= nuevoPadrePem.ClientID %>").autocomplete({
minLength: 6,
source: function (request, response) {
var term = request.term;
var result = [];
$.ajax({
url: 'PMENUEVAVERS.aspx/GetResultadosBusqueda',
data: JSON.stringify({ texto: term }),
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (dtos) {
response(dtos.d);
}
});
},
select: function (event, ui) {
var dto = ui.item;
$("#<%= hdSelectedNuevoPadrePem.ClientID %>").val(dto.id);
$("#<%= nuevoPadrePem.ClientID %>").css('color', '#00BE00');
}
})
而且它没有问题。
我正在尝试向我的网页添加一个自动完成小部件,一个个性化的小部件。在我自己的配置出现几个问题后,我决定直接在我的网页中尝试 official example,完成我在那里阅读的所有内容,然后替换这个
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<div>" + item.label + "<br>" + item.desc + "</div>" )
.appendTo( ul );
};
有了这个
.data("uiAutocomplete")._renderItem = function (ul, item) {
return $("<li>")
.append("<div>" + item.label + "<br>" + item.desc + "</div>")
.appendTo(ul);
};
因为我正在使用 jQuery UI 1.10.4 并且我无法更新它(我的老板不希望我这样做)。我无法使该示例工作,而且我知道如果我让它工作,我将不会有任何问题来适应它必须做的事情。
拜托,你知道如何让它发挥作用吗?提前致谢。
好吧,最后我放弃了。我克服这种情况的方法是将我正在转换的 DTO 调整为 JSON 并将其发送到浏览器以自动完成所需的格式。该格式包含三个字段:
{
id: ...,
label: ...,
value: ...
}
之后,我就这样配置了自动完成:
$("#<%= nuevoPadrePem.ClientID %>").autocomplete({
minLength: 6,
source: function (request, response) {
var term = request.term;
var result = [];
$.ajax({
url: 'PMENUEVAVERS.aspx/GetResultadosBusqueda',
data: JSON.stringify({ texto: term }),
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (dtos) {
response(dtos.d);
}
});
},
select: function (event, ui) {
var dto = ui.item;
$("#<%= hdSelectedNuevoPadrePem.ClientID %>").val(dto.id);
$("#<%= nuevoPadrePem.ClientID %>").css('color', '#00BE00');
}
})
而且它没有问题。