Автозаполнение JQuery внутри SimpleModal - PullRequest
4 голосов
/ 18 августа 2011

У меня есть простое текстовое поле с автозаполнением JQuery внутри div, на котором я использую SimpleModal для создания модального диалога. При первом вызове модального диалога автозаполнение работает нормально. После закрытия диалога он полностью перестает работать. У кого-нибудь есть идеи, с чем это может быть связано?

Код указан ниже:

Диалог html:

<div id="simplemodal">
<div class="content">
    <span class="label">国名</span>
    @Html.TextBox("NewRegion", "")
</div>
<div class="commands">
    <a>追加する</a>
    <a class="simplemodal-close">キャンセル</a>
</div>

и скрипт для диалога

/*Show add region dialogue*/
function AddNewRegion(ProjectID) {
    $('#simplemodal').modal({
        closeHTML: 'simplemodal-close',
        closeClass: 'simplemodal-close'
    });
}

Скрипт автозаполнения

$(function () {
$('#NewRegion').autocomplete({ source: '/Regions/FindRegions' } );
});

Я знаю, что об этом уже спрашивали, но похоже, что на вопрос так и не был получен ответ.

Ответы [ 3 ]

0 голосов
/ 17 февраля 2014

Код ниже может помочь вам

$(document).ready(function () {
    $("#NewRegion").autocomplete({
        source: function(request,response) {
            $.ajax({
                url: "/Regions/FindRegions",
                type: "POST",
                dataType: "json",
                data: { term: request.term },
                success: function (data) {
                    response($.map(data, function (item) {
                        return { value: item.Country };
                    }))

                }
            })
        },
        messages: {
            noResults: "", results: ""
        }
    });
})
0 голосов
/ 19 января 2015

Я тоже столкнулся с этой проблемой.Это можно решить, установив для параметра persist значение true при открытии модального диалога.

Нет необходимости переустанавливать обработчик автозаполнения при каждом открытии модального диалога.

0 голосов
/ 20 августа 2011

Объедините два примера кода JS в:

/*Show add region dialogue*/
function AddNewRegion(ProjectID) {
    $('#simplemodal').modal({
        closeHTML: 'simplemodal-close',
        closeClass: 'simplemodal-close',
        onShow: function (dialog) {
            $('#NewRegion', dialog.data[0]).autocomplete({ source: '/Regions/FindRegions' } );
        }
    });
}

Если это не сработает, дайте мне знать.

...