【问题标题】:How can I make jQuery UI Autocomplete work in an older version of jQuery UI?如何使 jQuery UI 自动完成功能在旧版本的 jQuery UI 中工作?
【发布时间】:2017-02-10 15:45:53
【问题描述】:

我正在尝试向我的网页添加一个自动完成小部件,这是一个个性化的小部件。在我自己的配置遇到几个问题后,我决定直接在我的网页中尝试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 并且我无法更新它(我的老板不希望我这样做)。我无法让示例工作,而且我知道如果我让它工作,我不会有任何问题来适应它必须做的事情。

请问,您知道如何使它工作吗?提前致谢。

【问题讨论】:

    标签: javascript jquery jquery-ui autocomplete


    【解决方案1】:

    好吧,最后我放弃了。我克服这种情况的方法是将我正在转换为 JSON 的 DTO 调整为自动完成期望的格式发送到浏览器。格式包含三个字段:

    {
        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');
        }
    })
    

    而且它没有问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多