正如您从上面的标题中了解到的,我有一个数据表和每一行的复选框。
我想在至少选中一个复选框时启用按钮,并在没有选中复选框时禁用按钮(我的意思是所有复选框都未选中)。如果选中其中一个复选框,我可以实现这一点,按钮变为启用状态。然而,我必须做的可逆情况是当复选框被取消选中时,当最后一个选中的复选框被取消选中时,按钮必须立即被禁用......
顺便说一句,我必须在不使用 setter 方法或支持 bean 的情况下完成它。 我可以使用 jquery 或 jsfunction、richfaces 等来执行它吗?
因此,我想了解如何在取消选中所有复选框时禁用按钮?
为了澄清案例,下面是我的代码;
<h:selectBooleanCheckbox id="selectionCheck"
onclick="document.getElementById('form1:button1').disabled=false"
value="#{_apiV2Product.selectValue}" >
</h:selectBooleanCheckbox>
任何帮助将不胜感激, 非常感谢, 巴里斯
最佳答案
您可以使用以下 jQuery 片段执行此操作:
$('[id$=selectionCheck]').click(function() {
$('[id$=button1]').attr('disabled', $('[id$=selectionCheck]:checked').length == 0);
});
这为每个复选框分配了一个 onclick
函数,当没有复选框被选中时禁用该按钮。
[id$=xxx]
选择器选择客户端 ID 为 ending 的元素与给定的值(value)。这在 JSF/RichFaces 中可能很有用,因为它在客户端 ID 前面加上父级的 ID UINamingContainer
组件(例如 h:form
、h:dataTable
、f:subview
等)。
关于javascript - 在 JSF 中,我如何理解多复选框是否全部选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912556/