SimpleModal中的JQuery Autocomplete

时间:2011-08-18 08:53:19

标签: jquery asp.net-mvc asp.net-mvc-3 jquery-ui simplemodal

我有一个简单的文本框,在div中使用JQuery自动完成,我使用SimpleModal进行模态对话。 第一次调用模态对话时,自动完成功能正常。对话关闭后,它完全停止工作。有没有人知道这可能是什么原因?

代码如下:

Dialogue 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 :(得分:0)

将两个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' } );
        }
    });
}

如果这不起作用,请告诉我。

答案 1 :(得分:0)

以下代码可能会对您有所帮助

$(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: ""
        }
    });
})

答案 2 :(得分:0)

我也遇到过这个问题。打开模态对话框时,可以通过将persist选项设置为true来解决此问题。

每次打开模态对话框时都无需重新安装自动完成处理程序。