0

我有这种情况:选择任何国家后重新加载“州”div 内容的国家下拉列表。

@Html.DropDownListFor(m => m.SelectedCountry, 
new SelectList(Model.Countries, "CountryId", "CountryName", Model.SelectedCountry))

<div id="states">
    @Html.Partial("Partial/States", Model)
</div>

<script type="text/javascript">
    $(document).ready(function() {

        $('#SelectedCountry').change(function() {

            if ($(this).val() !== "-1") {

                $.get('@Url.Action("LoadStates", "Controller")', 
                $('#form').serialize(), function(result) {
                    $('#states').html(result);
                });
            }
        }
    });
</script>

好的,它工作得很好。我的问题是当我重新加载这个 PartialView 时,内容丢失了它的 css 样式,我在 JS 引用中找不到它。我有这个功能来启用一个基于所选下拉值的按钮。

<script type="text/javascript">
    function canEnableButton() {
        //...
    }

    $('#SelectedCountry, #SelectedState').change(function() {
        canEnableButton();
    }
</script>

change()jQuery 函数工作的第一个加载页面。当我重新加载时,此功能停止工作并且 CSS 样式消失。

有谁知道可以是什么?谢谢!

4

2 回答 2

0

早上好,尝试更改您的事件绑定以使用 jquery .on 绑定:

$('#SelectedCountry').on('change', function() {
    ...
});

$('#SelectedCountry, #SelectedState').on('change', function() {
    ...
});
于 2013-07-29T12:18:14.077 回答
0

您可以简单地在 PartialView 中添加 js 和 css 引用

于 2013-08-01T16:06:29.503 回答