Javascript 如何使用PrimeFaces getSelectedRowsCount?

Javascript 如何使用PrimeFaces getSelectedRowsCount?,javascript,jsf,primefaces,Javascript,Jsf,Primefaces,我有一个带有复选框列的 p:column selectionMode="multiple" 在提交时,我尝试使用 tableID.getSelectedRowsCount() 及 但它们都不起作用。我怎样才能做到这一点呢?我想我找到了一种方法来做到这一点 首先在js-var上获取您的p:datatable-widgetvar,如下所示 var zzz = PrimeFaces.widgets['widgetVarName']; zzz.getSelectedRowsCount(); 然后

我有一个带有复选框列的

p:column selectionMode="multiple"
在提交时,我尝试使用

tableID.getSelectedRowsCount()


但它们都不起作用。我怎样才能做到这一点呢?

我想我找到了一种方法来做到这一点

首先在js-var上获取您的
p:datatable-widgetvar
,如下所示

var zzz = PrimeFaces.widgets['widgetVarName'];
zzz.getSelectedRowsCount();
然后您现在可以像这样调用
getSelectedRowsCount()

var zzz = PrimeFaces.widgets['widgetVarName'];
zzz.getSelectedRowsCount();

正如carlo del rosario提到的,您需要使用dataTable上的widgetVar集。与使用
PrimeFaces.widgets['wv']
不同,您可以使用快捷方式
PF('wv')
访问小部件并直接调用函数,而无需设置中间变量。因此,获取所选行数的最简洁方法是:

<p:dataTable widgetVar="wv">
...
</p:dataTable>
...

PF('wv').getSelectedRowsCount();

...
...
PF('wv')。getSelectedRowsCount();
《用户指南》中记录了更多dataTable客户端功能:

谢谢,我会试试这个,如果没有选择行,我打算用这个来阻止用户提交表单。我已经想到了,我打算用这个作为我的最后手段
PF('wv')
PrimeFaces.widgets['wv']
的快捷方式,在另一个答案中,也不需要var,所以实际上你的答案和另一个答案是一样的。我的意思是给出最简洁的答案。我会在我的回答中指出这一点。