我知道这里有很多例子说明了如何计算选中的复选框,但出于某种原因我无法完成这项工作。
我要做的是,当我的页面中至少选中一个复选框时,如果没有选中任何复选框,则应启用或禁用按钮。
甚至我实现了以下代码,检查复选框的计数总是0,我不确定我缺少什么。
Primefaces组件:
<p:column id="idSelectBox" selectionMode="multiple" style="width:68px" />
JQuery代码:
function countChecked() {
var n = $("input:checkbox:checked").length;
alert('Count: ' + n);
}
$(":checkbox").click(countChecked);
希望你能帮助我!
更新1:
我做了一些研究,Primefaces组件没有渲染到HTML复选框元素,它的输出是一组div和类:
<td class="ui-selection-column">
<div class="ui-dt-c">
<div class="ui-radiobutton ui-widget">
<div class="ui-radiobutton-box ui-widget ui-corner-all ui-radiobutton-relative ui-state-default">
<span class="ui-radiobutton-icon"></span>
</div>
</div>
</div>
</td>
所以我还在试图弄清楚如何检测复选框是否已被检查。
答案 0 :(得分:3)
PrimeFaces 3.1数据表客户端api有getSelectedRowsCount()方法,您可以使用它来查看是否有任何选定的行。
答案 1 :(得分:-1)
您必须使用属性选择器,请参阅http://api.jquery.com/category/selectors/attribute-selectors/
var n = $("input[type=checkbox][checked]").length;