在Primefaces中,如何通过javascript中的窗口小部件类型获取小部件

问题描述:

在Primefaces中,我想获取一个“InputSwitch”或其他东西的Widget列表。我怎么能这样做。在Primefaces中,如何通过javascript中的窗口小部件类型获取小部件

在Primefaces,我看到有一个Widget列表是在页面的代码:

PrimeFaces.widgets 

或辨识

PrimeFaces.getWidgetById("someId"); 

获取部件,但我不知道怎么去Widget类型示例为PrimeFaces.widget.InputSwitch

在PrimeFaces中,它们支持jQuery,并通过简单的方式获取jQuery对象:

PrimeFaces.widgets["someWidgetVar"].getJQ() 

存档越来越InputSwitch列表简单的方法是

for (item in PrimeFaces.widgets) { 
    widget = PrimeFaces.widgets[item]; 
    if (widget.getJQ().hasClass('ui-inputswitch')) { 
     list.push(widget); 
    } 
} 

随着'ui-inputswitch'是CSS类PrimeFaces组件。

+1

'if(widget instanceof PrimeFaces.widget.InputSwitch){list.push(widget);}'does not work too。在这里,你不依赖于css,而是实际的构件类型,所以在我的(并非如此)谦虚的意见中是更好的选择 – Kukeltje