我目前正面临使用primefaces Calendar control
的问题我的要求是在输入框或使用按钮更改Calendar控件值时调用java方法,并将一组参数(Java对象和字段id)传递给java方法。
下面是我已实现的代码,但它无法正常工作
<p:calendar showOn="button" id="effectiveDt" navigator="true" pattern="MM/dd/yyyy"
styleClass="overrideable" value="#{coverage.startDate}">
<f:ajax event="change" render="hiddenStartDt" onevent="myEvent" listener="#{certInquiry.ovrrrideListener}"/>
<f:attribute name="covg" value="#{coverage}" />
<f:attribute name="field" value="StartDate" />
</p:calendar>
这里 myEvent 是一个java脚本方法,将在ajax完成后调用,我将检查ajax状态是否成功并执行某些操作。
java方法的方法签名是。
* public void overrideListener(AjaxBehaviorEvent e)*
我试过各种各样的方法签名,如
public overrideListener(ValueChangeEvent e)
public overrideListener(ActionEvent e)
public ovrrrideListener(DateSelectEvent event)
没有什么对我有用
我尝试过使用即使这不起作用 如果方法被调用但我没有调用方法
,我也尝试使用valueChangeListener这适用于使用
的字段<h:selectBooleanCheckbox class="overrideable"
value="#{coverage.clIndicator}">
<f:ajax event="change" render="hidgenLiabClaimsMdInd" onevent="myEvent" listener="#{certInquiry.overrideListener}"/>
<f:attribute name="covg" value="#{coverage}" />
<f:attribute name="field" value="ClIndicator" />
</h:selectBooleanCheckbox>
<h:inputText id="genLiabEachOccAmt" value="#{coverage.eachOccAmt}"
class="amt_field overrideable">
<f:ajax event="change" render="hidgenLiabEachOccAmt" onevent="myEvent" listener="#{certInquiry.overrideListener}"/>
<f:attribute name="covg" value="#{coverage}" />
<f:attribute name="field" value="EachOccAmt" />
</h:inputText>
请帮我解决日历组件的这个问题。
答案 0 :(得分:1)
制作ajax event="dateSelect"
,当您使用ovrrrideListener(DateSelectEvent event)
时,您应该在BB中获取日期值。