Asp.net MVC jquery - 如何在页面加载时自动运行脚本

时间:2016-06-06 10:57:06

标签: jquery asp.net asp.net-mvc

我已经看过各种各样的策略,而我尝试的那个策略失败了(.load)。

我默认加载页面时隐藏了几个文本框及其标签。

但是,如果viewmodel代表公司 - 公司=" true"然后我想要显示这些文本框,并且要更改一些标签,因为这是公司记录而不是私人客户记录。

我在创建客户端时使用了与本页相同的页面:

    $(document).ready(function () {
    if ($('#Company').length)         // Check for ID
    {
        $(window).load(function () {
            $("#Company").click(function () {
                if ($(this).is(':checked')) {
                    $("#FirstNameLabel").html('Contact First Name:');
                    $("#LastNameLabel").html('Contact Last Name:');
                    $("#phoneLabel").html('Company Phone:');
                    $("#details").html('<strong>Company Details</strong>');
                    $("#bankDetails").html('<strong>Company Bank Details</strong>');
                    $("#hideOption").removeAttr("hidden");
                } else {
                    $("#FirstNameLabel").html('First Name:');
                    $("#LastNameLabel").html('Last Name:');
                    $("#phoneLabel").html('Home Phone:');
                    $("#details").html('<strong>Client Personal Details</strong>');
                    $("#bankDetails").html('<strong>Client Bank Details</strong>');
                    $("#hideOption").attr("hidden", "hidden");
                }
            });
        });
    };
});

因此,单击“公司”复选框,会更改多个标签,并显示这两个文本框。再次单击它们,它们还原。当你开始使用空白页面时这很好,但这是编辑页面,我正在预加载数据。在公司的情况下,我需要显示文本框和要更改的标签..

您可能已经注意到我尝试使用$(window).load,但它无效。

此外,此代码位于wwwroot下的site.js文件中而不在页面上,因此我使用$('#Company').length)检查ID是否首先存在...

如何在加载时在页面上运行此脚本?

它应该运行,如果选中公司复选框,则显示文本框并更改标签。

1 个答案:

答案 0 :(得分:0)

您可以在复选框控件中放置一个类名,并且可以使用以下更改功能,也可以在检查中应用您的代码集(if-else)。

<input type="checkbox" class="className" name="Country" value="Country"> Country<br>

    $(".className").change(function () {
            if (this.checked) {
    //Put your code here
    }
    else{
    //Put your code here
    }

    });

希望您的问题能够通过以下代码解决: - )

相关问题