最内部的ajax组件不更新外部组件

最内部的ajax组件不更新外部组件,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,我是JSF新手。 我想做的是从输入文本及其对应的dr/cr中选择值之后。 它的值应该在outputtext中根据该值进行更新。 Bt ajax没有更新输出文本。 这里datatable映射到DTO列表 <h:form id="form1"> <p:messages/> <p:panelGrid columns="1"> <p:panelGrid columns="2"> <h:o

我是JSF新手。 我想做的是从输入文本及其对应的dr/cr中选择值之后。 它的值应该在outputtext中根据该值进行更新。 Bt ajax没有更新输出文本。 这里datatable映射到DTO列表

<h:form id="form1">
        <p:messages/>
    <p:panelGrid columns="1">
        <p:panelGrid columns="2">
            <h:outputText value="Voucher Date"/>
            <p:calendar required="true" requiredMessage="Please enter date." value="#  

   {transactionMBean.journalEntryDate}"/>
            <h:outputText value="Transaction Remarks"/>
            <p:inputText required="true" requiredMessage="Please enter remarks." 


  value="#{transactionMBean.journalEntryRemarks}"/>
        </p:panelGrid>

        <p:panelGrid columns="1">
            <p:dataTable value="#{transactionMBean.tranDTOList}" var="tran" 
   style="width: 600px">
                <p:column style="width: 200px !important" headerText="A/c Ledger">
                    <p:selectOneMenu style="width: 190px !important" value="#   
   {tran.accMasterId}">
                        <f:selectItem itemLabel="Select" itemValue="0"/>
                        <f:selectItems value="#{transactionMBean.accMaster}" var="acc"  
   itemLabel="#{acc.accName}" itemValue="#{acc.id}"/>

                    </p:selectOneMenu>
                </p:column>

                <p:column headerText="Transaction Amount">
                    <p:inputText value="#{tran.txnAmount}">
                         <p:ajax listener="#{transactionMBean.ajaxActionOnDataTable()}" 
    update="opCr, opDr"/>
                    </p:inputText>
                </p:column>

                <p:column headerText="Dr/Cr">
                    <p:selectOneRadio value="#{tran.drCr}">
                        <f:selectItem itemLabel="Dr" itemValue="D"/>
                        <f:selectItem itemLabel="Cr" itemValue="C"/>
                         <p:ajax listener="#{transactionMBean.ajaxActionOnDataTable()}" 
  update="opCr, opDr"/>
                    </p:selectOneRadio>
                </p:column>
            </p:dataTable>

        </p:panelGrid>
        <p:panelGrid id="op" style="float: right !important" columns="1">
            <h:outputText id="opDr" value="Dr Total: #{transactionMBean.drTotal}"/>
            <h:outputText id="opCr" value="Cr Total: #{transactionMBean.crTotal}"/>


        </p:panelGrid>
        <p:commandButton value="Transaction Post" ajax="false" action="#
  {transactionMBean.addTransaction()}"/>
        <p:commandButton immediate="true" value="Reset" ajax="false" action="# 
   {transactionMBean.resetTransaction()}"/>
    </p:panelGrid>
   </h:form>

尝试
不要在更新空间中使用
进行多次更新。你应该在更新中使用一些事件在收音机中使用选择在文本框中使用模糊或按键等