如何确定Primefaces RadioCheckbox是否已被选中?

时间:2012-01-25 16:15:19

标签: javascript jquery primefaces

我知道这里有很多例子说明了如何计算选中的复选框,但出于某种原因我无法完成这项工作。

我要做的是,当我的页面中至少选中一个复选框时,如果没有选中任何复选框,则应启用或禁用按钮。

甚至我实现了以下代码,检查复选框的计数总是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>

所以我还在试图弄清楚如何检测复选框是否已被检查。

2 个答案:

答案 0 :(得分:3)

PrimeFaces 3.1数据表客户端api有getSelectedRowsCount()方法,您可以使用它来查看是否有任何选定的行。

答案 1 :(得分:-1)

您必须使用属性选择器,请参阅http://api.jquery.com/category/selectors/attribute-selectors/

var n = $("input[type=checkbox][checked]").length;