1

这是我的代码

jQuery(document).ready(function() {

    if(jQuery('input[name="email_notification"]').is(":checked"))
        jQuery('#your_email').show();
    else
        jQuery('#your_email').hide();

    jQuery('input[name="email_notification"]').click(function(){
        if(jQuery(this).is(":checked"))
            jQuery('#your_email').show();
        else
            jQuery('#your_email').hide();
    });
});

我有很多代码在做这项乏味的工作。页面加载时,检查一个元素是否被选中并显示/隐藏另一个元素。然后,绑定一个单击事件以再次执行此操作。

有没有办法可以减轻我的编码生活......

提前致谢。

英文不太好,希望有的编辑能给这个问题起一个更清晰的标题。

4

2 回答 2

3

只需绑定您的处理程序并在 DOM Ready 上触发事件。

$(document).ready(function() {
    $('input[name="email_notification"]').change(function(){
        $('#your_email').toggle(this.checked);
    }).change();
});
于 2013-02-24T08:22:29.840 回答
0

尝试这样的事情:

function handleEmailDisplay($EmailContainer)
{
    if($EmailContainer.is(":checked"))
        jQuery('#your_email').show();
    else
        jQuery('#your_email').hide();
}

jQuery(document).ready(function() {

    handleEmailDisplay($('input[name="email_notification"]'))

    jQuery('input[name="email_notification"]').click(function(){
        handleEmailDisplay($(this))
    });

});
于 2013-02-24T08:20:26.357 回答