jQuery - 如何为我的情况减少重复的代码

时间:2013-02-24 08:17:20

标签: jquery

这是我的代码

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();
    });
});

我有很多代码在完成这项繁琐的工作。 加载页面时,检查是否选中了元素并显示/隐藏其他元素。 然后,绑定单击事件以再次执行此操作。

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

提前致谢。

不擅长英语,并希望一些编辑能够给这个问题一个更明确的标题。

2 个答案:

答案 0 :(得分:3)

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

$(document).ready(function() {
    $('input[name="email_notification"]').change(function(){
        $('#your_email').toggle(this.checked);
    }).change();
});

答案 1 :(得分: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))
    });

});