0

我在 jsf 中有两个文本框

1)creditAmount

2)借记金额

现在,如果我输入贷方文本框,借方文本框应该为零,反之亦然。

如何在jsf中做到这一点?我为它编写了javascript函数,但它不起作用。有没有办法在jsf中做到这一点。我是jsf的新手?

<p:inputText id="debitAmount" value="#{jvDetailsController.selected.debitAmount}" 
    title="#{bundle.CreateJvDetailsTitle_debitAmount}" required="true" 
    requiredMessage="#{bundle.CreateJvDetailsRequiredMessage_debitAmount}">
    <f:convertNumber minFractionDigits="2" pattern="#0.000" />
</p:inputText>
4

2 回答 2

1

您可以使用JSF ajax.

 <h:inputText id="credit" value="#{bean.credit}">
   <f:ajax event="blur" render="devit" listener="#{bean.changeDevit}"/>
 </h:inputText>
 <h:inputText id="devit" value="#{bean.devit}">
   <f:ajax event="blur" render="credit" listener="#{bean.changeCredit}"/>
 </h:inputText>

这里是对应的 ManagedBean

@ManagedBean(name="bean")
class Bean{

      int devit;
      int credit;
      public void changeDevit(){
         devit=0;
      }
      public void changeCredit(){
         credit=0;
      }
    //getter & setter
}
于 2013-11-07T05:13:40.417 回答
0

您可以为此使用 primefaces ajax

<h:panelGrid columns="3">  
    <h:outputText value="Keyup: " />  

    <p:inputText id="counter">  
        <p:ajax event="keyup" update="out"   
                listener="#{counterBean.increment}"/>  
    </p:inputText>  

    <h:outputText id="out" value="#{counterBean.count}" />  
</h:panelGrid>  

希望它会帮助。

于 2013-11-07T05:57:25.610 回答