我想获取p:selectBooleanCheckbox组件,并检查是否已选择javascript

<h:dataTable value="#{controller.list}" var="item">
    <h:column>
        <f:facet name="header">Ratio1</f:facet>
        <h:panelGrid columns="2">
            <p:inputText id="ratio1" readonly="#{true}" disabled="true" styleClass="ratio1"/>
            <h:outputText value="%" />
        </h:panelGrid>
        <p:selectBooleanCheckbox id="report1"  onchange="calculateTotalRatio()" value="#{controller.value}" valueChangeListener="#{fISHController.onCaseTestItemPatternReportFlagChange()}">
        </p:selectBooleanCheckbox>
    </h:column>


我想在calculateTotalRatio()函数上检查该复选框是否已选中,并根据它更新ratio1输入文本的值

最佳答案

您可以定义selectBooleanCheckbox的widgetVar

<p:selectBooleanCheckbox id="check" widgetVar="myCheckbox" value="#{myBacking.value}"/>


您可以通过以下方式在js中访问Primefaces对象

directly with myCheckbox
PF("myCheckbox")
window["myCheckbox"]
PrimeFaces.widgets["myCheckbox"]


因此,要获取复选框状态,您可以使用

myCheckbox.input.is(':checked')
PF("myCheckbox").input.is(':checked')
window["myCheckbox"].input.is(':checked')
PrimeFaces.widgets["myCheckbox"].input.is(':checked')

07-24 19:04