微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

加载时如何为下拉列表中的第一项运行LoadPartial函数?

我有一个函数,当下拉列表更改时-它将加载部分视图.码:

HTML

<p>
    @Html.LabelFor(m => m.SelectedCustomerId, new { @id = "dropdownlabel" })
    @Html.DropDownListFor(m => m.SelectedCustomerId, Model.CustomerIDItem, new { @id = "customId" })
</p>

Javascript:

<script type="text/javascript">
        $(function() {
            $("#customId").change(function() {
                var id = $(this).val();
                $('#divValues').load('@Url.Action("DefaultValuesPartialView", "DefaultValues")?selectedCustomerId=' + id, function (response, status, xhr) {
                    $("#divValues").html(response);
            });
        });
    });
</script>

哪个完美.它加载局部视图(当下拉菜单更改时,更新页面上的表,而无需重新加载整个页面.我要做的是,当加载下拉列表时,它也应该首先加载所选的项目.

我的第一个想法是,它将是这样的:

<script type="text/javascript">
            $(function() {
                $("#customId").onload(function() {
                    var id = $(this).val();
                    $('#divValues').load('@Url.Action("DefaultValuesPartialView", "DefaultValues")?selectedCustomerId=' + id, function (response, status, xhr) {
                        $("#divValues").html(response);
            });
        });
    });
</script>

但是很明显它没有用,有什么想法吗?

提前致谢.

解决方法:

只需在页面加载时触发更改事件

$(function() {
    $("#customId").change(function() {
        var id = $(this).val();
        $('#divValues').load('@Url.Action("DefaultValuesPartialView", "DefaultValues")?selectedCustomerId=' + id);
    }).change(); //trigger change event on page load
});

注意:您不需要使用$(“#divValues”).html(response),因为.load()函数已经为您完成了.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐