使用 JQuery 获取对 PrimeFaces widgetVar 的引用

use*_*526 5 jquery primefaces

我有一组primefaces复选框(p:selectBooleanCheckbox),每个复选框都有一个定义的widgetVar( widgetVar="rowCheckbox_0" , widgetVar="rowCheckbox_1" , widgetVar="rowCheckbox_2" ,.. )。我想获得对它们的引用并使用 JQuery 检查它们,但我是新手,我不知道该怎么做。

这是我为获取复选框引用而编写的函数:

function selectAllCheckbox() {
    var test = $(PrimeFaces.widgets.rowCheckbox_0);
    if (test.length){
        alert('Element found ');
    }
    else {
        alert('Element NOT found');
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我执行代码,警报会告诉我“找到元素”,所以我想我走对了。现在我不知道如何:

1) 对元素“test”(应该指第一个复选框)执行 .check() 函数。

2)获取一个包含所有复选框引用的数组(以“rowCheckbox_”开头的“$PrimeFaces.widgets.”)任何人都可以帮助我吗?

Hat*_*mam 5

您可以遍历当前页面小部件并测试当前元素是否为 PrimeFaces.widget.SelectBooleanCheckbox

for (var propertyName in PrimeFaces.widgets) {
  if (PrimeFaces.widgets[propertyName] instanceof PrimeFaces.widget.SelectBooleanCheckbox) {
    PrimeFaces.widgets[propertyName].check();// to check       
    PrimeFaces.widgets[propertyName].jq; //jQuery reference
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,在此之后,您可以检查第一个出现的元素,并构建您的数组。