无法从 PrimeFaces 命令按钮调用 JavaScript 方法

Unble to call JavaScript method from PrimeFacec CommandButton

<script type="text/javascript">
       function checkUncheckWOClosure()
        {                           
            if(woTypeAutoWOClosure.isChecked() == true)
                {
                woTypeAutoActClosure.check();
                }
            else
                {
                woTypeAutoActClosure.uncheck();
                }
        }
      </script> 

<p:selectBooleanCheckbox id="workOrderTypeAutoActClosure" 
                                     value="#{workOrderTypeCrud.instance.autoActClosure}" widgetVar="woTypeAutoActClosure">
 </p:selectBooleanCheckbox>                
 <p:selectBooleanCheckbox id="workOrderTypeAutoWOClosure"
                                     value="#{workOrderTypeCrud.instance.autoWOClosure}" widgetVar="woTypeAutoWOClosure" onclick="checkUncheckWOClosure()">                                          
  </p:selectBooleanCheckbox>

实际上我想在点击第二个复选框时自动选中第一个复选框box.and当我取消选中第二个复选框时取消选中第一个复选框。

您的代码有一些错误:

  1. <p:selectBooleanCheckbox /> 没有 onclick 属性。替代方法可能是 onchange 属性:
<p:selectBooleanCheckbox
    id="workOrderTypeAutoWOClosure"
    value="#{workOrderTypeCrud.instance.autoWOClosure}"
    widgetVar="woTypeAutoWOClosure"
    onchange="checkUncheckWOClosure();">
/>
  1. 仅通过 widgetVar 属性值从 JS 引用组件是行不通的。你必须使用 PF('<widgetVar>'):
function checkUncheckWOClosure() {                           
    if(PF('woTypeAutoWOClosure').isChecked() == true) {
        PF('woTypeAutoActClosure').check();
    } else {
        PF('woTypeAutoActClosure').uncheck();
    }
}