javascript - 如何检查带有 bool 值的复选框

标签 javascript jquery html

因此 HTML 规范规定您应该添加 checked属性为<input type="checkbox">标记将其标记为已选中。但我只有一个 bool 值 truefalse值(value)。

按照设计,在 bool 值解析为 html 之前,我无法向其添加任何逻辑:(。 是否可以仅使用 html 或 js 检查加载时带有 bool 值的复选框?我尝试了以下操作,但是 onload似乎没有触发:

<input type="checkbox" onload="javascript:this.checked=true" />

我知道我可以在 jQuery 中做这样的事情:

$("[checked='false']").prop('checked',false)

我正在寻找一种优雅的方法来解决它。这必须解析整个 DOM 树,并且会减慢我的页面速度。


编辑(试图解释):

在我的公司中,有一个应用程序按设计执行以下操作:

 <input type="checkbox" checked="%IsValide%" >

服务器会自动替换 %IsValide% var 带有数据库值。这里是真还是假。但即使该值为 false,该复选框也始终会被选中。我知道这是因为 html5 的设计:checked="true"和checked="false"会将复选框标记为始终处于选中状态。

现在我正在寻找一种解决方案来使用 %IsValide% 中的 true 或 false 值使用 javascript 正确选中该框(或者使用 html 更好)。我可以使用%IsValide% html 标签中的任意位置。例如:

<input type="checkbox" onload="javascript:this.checked=%IsValide%" /> 

但是我无法在解析为 HTML 之前添加逻辑,如下所示:

if(%IsValide%) {
 %IsValide%="checked";
}
else {
 %IsValide%="";
}

最佳答案

我正在尝试理解您的要求。我想你可以用一些简单的 JavaScript 来完成它:

document.getElementById("yourCheckBoxId").checked = false; //this case it sets checked to false you can also do true

在页面加载时检查它:

<body onload='document.getElementById("yourCheckBoxId").checked = true;'>

或者避免使用 body 的 onload 属性来检查它:

<input type="checkbox" id="yourCheckBoxId" checked>

然后你只需使用 javascript 更改它即可。

我的另一个猜测是您想更改复选框的值?你是?在我的答案下面发表评论说我不明白你在问什么。希望这可以帮助!这是我的引用来源:http://www.w3schools.com/jsref/prop_checkbox_checked.asp

关于javascript - 如何检查带有 bool 值的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26889337/

相关文章:

javascript - 创建可重用的模态对象/模板系统

javascript - 箭头函数的理解es6

jquery ui css 不能离线工作

c# - "Object doesn' t 在IE8和IE7中支持这个属性或方法

html - 哪个魔术 CSS 导致 <button> 和 <div> 之间的 text-vertical-align 不同?

javascript - 将元素添加到表格 - HTML/CSS/JS

javascript - 如何使用 java 脚本中的 window.print 方法更改页眉和页脚样式?

用于删除尾随的 Javascript

Javascript 在控制台中工作,但在内容脚本中不起作用

jquery addClass 在负载上工作,但不是通过单击