如何在渲染期间选中复选框

时间:2017-03-30 08:41:00

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

我已经在网上查看并应用了很多解决方法,例如 Check/Uncheck checkbox with javascript? ,但我的问题是在页面加载后检查复选框。我使用 $(window).load(function() $(document).ready(function()但是没有一个工作。但是,如果我可以设置检查复选框的html中的属性问题将得到解决。但是我无法通过Javascript变量设置此属性。我也尝试过jQuery,但问题与渲染复选框后设置此属性有关。是否有解决问题的想法?

<input type="checkbox" class="form-check-input" id="chkAll" >

//Although the checkboz is already rendered at this stage I cannot set it
$(window).load(function () {
    if (@Html.Raw(Json.Encode(ViewBag.IsAll))) {
        document.getElementById("chkAll").checked = true;
    }
});

//As the checkbox is not rendering during page load this method is useless
$(document).ready(function () {
    if (@Html.Raw(Json.Encode(ViewBag.IsAll))) {
        document.getElementById("chkAll").checked = true;
    }
});

4 个答案:

答案 0 :(得分:1)

为什么要在渲染后检查?如果你想要它,你可以使用“checked”html属性来获取它。

如果您需要这种方式(我不知道背后的原因),如果使用$(document).ready()$(window).load()不起作用,您是否尝试使用超时?

$(document).ready(function(){
    setTimeout(function(){
        $("#chkAll").prop("checked",true); // I prefer the jQuery way, since you are using it, but you can use native js if you prefer
    },50);
})

这会产生50毫秒的延迟,可能适合你

答案 1 :(得分:1)

您不需要任何JavaScript。您使用scale=w='if(gt(dar,854/480),min(854,iw*sar),2*trunc(iw*sar*oh/ih/2))':h='if(gt(dar,854/480),2*trunc(ih*ow/iw/sar/2),min(480,ih))'方法,该方法将根据您绑定的CheckBox()属性的值正确设置checked属性。问题是你没有绑定你的财产。将视图中的代码更改为

boolean

如果@Html.CheckBox("IsAll") 的值为true,则会检查,否则不会。

答案 2 :(得分:0)

我不确切知道您的需求,请查看以下代码段

jQuery(function($) {
   $('#chkbox').prop('checked', true);
});
<input type="checkbox" id="chkbox" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

答案 3 :(得分:0)

做到。

$('element').prop('checked', true);