【问题标题】:jQuery datepicker year change when select month, IE7选择月份时jQuery datepicker年份更改,IE7
【发布时间】:2011-11-23 04:37:23
【问题描述】:

我们的项目使用 JSF1.2、Icefaces 1.8.2、jQuery UI 组件 datepicker(版本 1.8.14)。 IE7 的问题(Firefox 很好)。以下顺序会出现问题:选择一个日期(例如,doday 前几天)。请注意,我们将年份范围设置为 1991 到 2012。我们的业务逻辑是打印一个使用该日期(在代码中称为 dateOfStudy)作为标题的文档,一旦完成,在 JSF 后台 bean 中,我将日历 inputext 日期字段清除为空。现在再次点击日期选择器图标,年份正确显示为2011,选择上一个月份(例如回到2011年8月),问题就在这里:年份将更改为1991,不能保留在2011。

如果我不触摸该日期字段,则不会发生此问题(不要清除,保留旧日期)。即使我只是通过 CSS 将日期字体更改为其他颜色,问题仍然会出现(似乎每当我触摸该字段时,日期选择器都会搞砸)。点今天就不会出现这个问题,或者关闭日期选择器,再打开。

我清除日期后似乎 datepick 需要一些初始化?

我附上了一些代码。我有诸如 setDate、onChangeMonthYear、beforShowDay 之类的 trid 方法/选项,无法解决。任何帮助表示赞赏!

<script type="text/javascript">
var jq = jQuery.noConflict();
jq(document).ready(function() {
    jq("[id$=fmv]").live('click', function() {
        jq(this).datepicker( {
            showOn : 'focus',
            changeMonth : true,
            changeYear : true,
            dateFormat : 'mm/dd/yy',
            yearRange : '-20:+1',
            showButtonPanel : true,
            closeText : 'Close'
        }).focus();
    });
});
</script>

<ice:inputText id="fmv"
                       style="background-image:url      ('../../../jquery/images/calendar1.png');
                       background-repeat:no-repeat;background-position:right;"
                       value="#{pItem.dateOfStudy}"
                       validator="#{pItem.validate}"
                       partialSubmit="true"
                       name="fmv"         
                       valueChangeListener="#{pItem.dateChangeListener}"> 
                       </ice:inputText>

【问题讨论】:

    标签: jquery-ui jsf internet-explorer-7 datepicker


    【解决方案1】:

    当backbean清除或更改日历inputText中的输入文本时,我认为这会导致焦点事件,并且在IE7下会混淆日历。我使用 showOn focus 的原因是代码位于表格 AJAX 显示区域中,因此在图像按钮上使用日历显示不起作用,因为当 AJAX 更新返回时按钮图像不会显示(不会调用 jQuery 日历),这强迫我使用 showOn 焦点。我终于通过在最终的 .focus() 之后添加以下刷新日历行来解决今年的变化问题:

    jq(this).datepicker("setDate",jq("[id$=fmv]").datepicker("getDate"));
    

    现在一切正常。我不确定如何仅在 backbean 清除日历日期时进行此调用,但性能似乎还可以。

    【讨论】:

      猜你喜欢
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多