检查jquery在页面加载时是否选中了复选框

时间:2014-07-25 10:53:55

标签: javascript jquery asp.net-mvc-3 checkbox

我在.Net MVC 3页面中有以下复选框和span标记,

@Html.CheckBoxFor(m => m.CheckedStatus, new Dictionary<string, object> { { "id", "cbCheckedStatus7" }, { "name", "cbCheckedStatus" }, { "class", "onchange" } })
<span id="spBlueCheckbox" style="display: none; color: blue;"> Some message</span>

Jquery的:

jQuery(function ($) {
        $('#cbCheckedStatus7').on('change', function () {            
            $('#spBlueCheckbox').slideToggle(this.checked);
        });

如果选中该复选框,我需要显示span标记,否则隐藏它。最初隐藏了spab标签。

我已经编写了jquery来执行上述方案,但只有在我用鼠标手动点击时它才有效。我需要的是,当我从上一页导航到此页面时,默认情况下会根据DB标志选中该复选框,但不显示span标记。

4 个答案:

答案 0 :(得分:2)

您可以使用:

if($('#cbCheckedStatus7').is(':checked')){
   $('#spBlueCheckbox').show();
}

答案 1 :(得分:2)

在页面加载下调用jquery:

$(document).ready(function(){
    // do initial check and make show / hide
    if($('#cbCheckedStatus7').is(':checked')){ // check if checkbox checked
       $('#spBlueCheckbox').show();
    }

   // add change handler
   $('#cbCheckedStatus7').on('change', function () {            
       $('#spBlueCheckbox').slideToggle(this.checked);
    });
});

答案 2 :(得分:1)

试试这个

$(document).ready(function(){
     ($('#cbCheckedStatus7').is(':checked')) ? $('#spBlueCheckbox').show(); : $('#spBlueCheckbox').hide();
})

答案 3 :(得分:1)

编辑您的代码:

jQuery(function ($) {
        $('#cbCheckedStatus7').on('change', function () { 
        if(this.checked)           
            $('#spBlueCheckbox').show();//or slide up or down
        else
            $('#spBlueCheckbox').hide();//or slide up or down
        });

并将其添加到包含复选框的页面的末尾

$('#cbCheckedStatus7').change();