无法填充使用 PrimeFaces 从 ajax 调用获得的值



Hi
我使用primefaces [p:ajax]进行了ajax调用。对侦听器的调用成功,并返回了所需的值。为了在 xhtml 中更新这些属性,我检查了 DOM 源代码,以找出列的确切 ID,使用该 ID 更新列或属性。但是,在这种情况下,字段不会获取值。

我在这种情况下使用的代码是

        <p:dataTable id="table1" var="recepit" rowIndexVar="rowIndex"   value="#{ReceiptDetailsBean.iterativeList}" scrollable="true"  height="120px" styleClass="leftTable">
            <p:column style="background-color: #EFF2F9">
                <f:facet name="header">
                    <h:outputText value="SL NO" />
            </f:facet>
                    <h:outputText value="#{rowIndex+1}" />
            </p:column>
            <p:column >
                <f:facet name="header">
                    <h:outputText value="Buss." />
                </f:facet>
                        <h:selectOneMenu id="selectOneCb" value="#{ReceiptDetailsBean.bussCode}" >
                            <f:selectItem itemLabel="V_BUSS_CODE" itemValue=""/>
                            <f:selectItems value="#{ReceiptDetailsBean.rdetails}" var="model" itemLabel="#{model.buss}" itemValue="#{model.buss}"/>
                             <p:ajax update="mainForm:table1:#{rowIndex}:receiptCode, mainForm:table1:#{rowIndex}:referenceType"  actionListener="#{ReceiptDetailsBean.obtainReceiptDatabasedOnBussCode}" event="change"/>  
                        </h:selectOneMenu>
            </p:column>
            <p:column id="receiptCodeCol">
                <f:facet name="header">
                    <h:outputText value="Receipt Code" />
                </f:facet>
                        <h:inputText value="#{ReceiptDetailsBean.receiptCode}" id="receiptCode" style="font-family: verdana;font-size: 10px;width:80px;height:15px" />

            </p:column>
            <p:column id="receiptTypeCol">
                <f:facet name="header">
                    <h:outputText value="Ref Type" />
                </f:facet>
                        <h:inputText value="#{ReceiptDetailsBean.receiptType}" id="referenceType" style="font-family: verdana;font-size: 10px;width:80px;height:15px"/>

            </p:column>

        </p:dataTable>
                    </div>

        </p:tab>
        <p:tab title="Print">
        </p:tab>

</p:tabView>
</h:form>

来自 DOM 视图源的 id 是 table1:0:receiptCodeHotKey:receiptCode

数据未填充到字段中会有什么问题。

我认为问题的根源是您对h:form的使用。您不需要将它放在每个输入元素周围。在数据表周围放置一个h:form,然后再次检查生成的 ID。

那么它应该是这样的(例如行索引为 0 的第一行):

formId:table1:0:receiptCode

相关内容

  • 没有找到相关文章

最新更新