我在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>
答案 0 :(得分: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
}
答案 1 :(得分: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>
希望它能解决。