我已经在网上查看并应用了很多解决方法,例如 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;
}
});
答案 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);