我想根据条件启用或禁用表格行中的复选框。
代码 -
<td><input type="checkbox" name="repriseCheckBox" disabled={checkStat == 1 ? true : false}/></td>
如果 checkStat = 1,需要禁用复选框,否则保持启用。
它不工作。它禁用所有复选框。有什么建议么 ?
如果您指定disabled
属性,那么您给它的值必须是disabled
. (在 HTML 5 中,您可以省略除属性值之外的所有内容。在 HTML 4 中,您可以省略除属性名称之外的所有内容。)
如果您不想禁用控件,则根本不要指定该属性。
禁用:
<input type="checkbox" disabled>
<input type="checkbox" disabled="disabled">
启用:
<input type="checkbox">
无效(但通常错误恢复被视为禁用):
<input type="checkbox" disabled="1">
<input type="checkbox" disabled="true">
<input type="checkbox" disabled="false">
因此,在不了解您的模板语言的情况下,我猜您正在寻找:
<td><input type="checkbox" name="repriseCheckBox" {checkStat == 1 ? disabled : }/></td>
<input type="checkbox" value="" ng-model="t.IsPullPoint" onclick="return false;" onkeydown="return false;"><span class="cr"></span></label>
HTML 解析器根本不会像这样解释内联的 javascript。
你可以这样做:
<td><input type="checkbox" id="repriseCheckBox" name="repriseCheckBox"/></td>
<script>document.getElementById("repriseCheckBox").disabled=checkStat == 1 ? true : false;</script>
在jsp中你可以这样做:
<%
boolean checkboxDisabled = true; //do your logic here
String checkboxState = checkboxDisabled ? "disabled" : "";
%>
<input type="checkbox" <%=checkboxState%>>
According the W3Schools you might use JavaScript for disabled checkbox.
<!-- Checkbox who determine if the other checkbox must be disabled -->
<input type="checkbox" id="checkboxDetermine">
<!-- The other checkbox conditionned by the first checkbox -->
<input type="checkbox" id="checkboxConditioned">
<!-- JS Script -->
<script type="text/javascript">
// Get your checkbox who determine the condition
var determine = document.getElementById("checkboxDetermine");
// Make a function who disabled or enabled your conditioned checkbox
var disableCheckboxConditioned = function () {
if(determine.checked) {
document.getElementById("checkboxConditioned").disabled = true;
}
else {
document.getElementById("checkboxConditioned").disabled = false;
}
}
// On click active your function
determine.onclick = disableCheckboxConditioned;
disableCheckboxConditioned();
</script>
You can see the demo working here : http://jsfiddle.net/antoinesubit/vptk0nh6/
我知道这个问题有点老了,但这是我的解决方案。
// HTML
// <input type="checkbox" onClick="setcb1()"/>
// <input type="checkbox" onClick="setcb2()"/>
// cb1 = checkbox 1
// cb2 = checkbox 2
var cb1 = getId('cb1'),
cb2 = getId('cb2');
function getId(id) {
return document.getElementById(id);
}
function setcb1() {
if(cb1.checked === true) {
cb2.checked = false;
cb2.disabled = "disabled"; // You have to disable the unselected checkbox
} else if(cb1.checked === false) {
cb2.disabled = ""; // Then enable it if there isn't one selected.
}
}
function setcb2() {
if(cb2.checked === true) {
cb1.checked = false;
cb1.disabled = "disabled"
} else if(cb2.checked === false) {
cb1.disabled = ""
}
希望这可以帮助!