<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>
实际上,我想在单击第二个复选框时自动选中第一个复选框,而在取消选中第二个复选框时取消选中第一个复选框。
最佳答案
您的代码有一些错误:<p:selectBooleanCheckbox />
没有onclick属性。另一种可能是onchange属性:
<p:selectBooleanCheckbox
id="workOrderTypeAutoWOClosure"
value="#{workOrderTypeCrud.instance.autoWOClosure}"
widgetVar="woTypeAutoWOClosure"
onchange="checkUncheckWOClosure();">
/>
仅通过JS的widgetVar属性值引用组件是行不通的。您必须使用
PF('<widgetVar>')
:function checkUncheckWOClosure() {
if(PF('woTypeAutoWOClosure').isChecked() == true) {
PF('woTypeAutoActClosure').check();
} else {
PF('woTypeAutoActClosure').uncheck();
}
}
关于javascript - 无法从PrimeFaces CommandButton调用JavaScript方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38713278/