0

我最近被要求实现一个函数来控制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 勃朗特斯
4

0 回答 0