我最近被要求实现一个函数来控制rich:calendar
基于单个SessionScoped
Date
对象的所有组件,该对象放置在.xhtml
模板的标题中。
所以我解决了它JQuery
,使用类似以下函数:
$(document).ready(function(){
var date = $('#mainForm\\:generalDateInputDate').val();
$('.rf-cal-inp').each(function(){
if(!$(this).val()){
$(this).val(date);
$(this).change();
}
});
});
它工作得很好,除了一个问题。我认为调用$(this).change();
会触发valueChangeListener
与我的某些日历组件相关联的事件,但事实并非如此。
在其中一些中,我真的需要valueChangeListener
被解雇,这样事情才能正常工作。
有没有办法我可以做到这一点JavaScript/JQuery
?
rich:calendar
这是需要此行为的 a 示例:
<rich:calendar id="date"
value="#{managedBean.date}"
datePattern="dd/MM/yyyy" enableManualInput="false"
valueChangeListener="#{managedBean.dateValueChangeListener}">
<a4j:ajax onbegin="openLoadingPopup();" oncomplete="closeLoadingPopup();"
execute="@this" render="date select button" />
</rich:calendar>
附加信息
- 带有 Mojarra 实现的 JSF 2.1
- Richfaces 4.1 最终版
- JBoss 7.1.1 勃朗特斯