簡體   English   中英

如何在舊版jQuery UI中使jQuery UI自動完成功能正常工作?

[英]How can I make jQuery UI Autocomplete work in an older version of jQuery UI?

我試圖將自動完成的小部件添加到我的網頁中,這是一種個性化的小部件。 在對自己的配置遇到一些問題之后,我決定直接在網頁中嘗試該官方示例 ,做所有我在該網頁上閱讀的內容,然后替換掉

.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,然后將其發送到瀏覽器,使其具有Autocomplete期望的格式。 格式包含三個字段:

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

它的工作沒有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM