创建一个检查onload和change的事件

Mik*_*lls 1 jquery

我有这个代码,我想a)选中复选框时运行.b)在页面加载上运行,看它需要扩展默认隐藏的部分.

$(document).ready(function () {
    $('#hasContractorFlag').on('change', function () {
        if ($(this).is(':checked')) {
            $('#hasContractor').show();
        } else {
            $('#hasContractor').hide();
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

我尝试将load事件添加到上面并且没有被触发.

我知道我可以做类似的事情,它会起作用:

$(document).ready(function () {
    noAddress($('#hasContractorFlag'))

    $('#hasContractorFlag').on('change', function () {
        noAddress($(this));
    });

    function noAddress(var field) {
        if ($(field).is(':checked')) {
            $('#hasContractor').show();
        } else {
            $('#hasContractor').hide();
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

Jon*_*yne 5

如果您.change();在准备好的文档中添加方法,它将调用您的方法.

jsFiddle:http://jsfiddle.net/UQDaW/5/

$(document).ready(function () {
    $('#hasContractorFlag').on('change', function () {
        if ($(this).is(':checked')) {
            $('#hasContractor').show();
        } else {
            $('#hasContractor').hide();
        }
    }).change(); // .change() will execute this method
});
Run Code Online (Sandbox Code Playgroud)