我们的项目使用JSF1.2,Icefaces 1.8.2,jQuery UI组件datepicker(版本1.8.14)。问题与IE7(火狐很好)。以下顺序会出现问题:选择一个日期(例如,今天的几天)。请注意,我们设置了从1991年到2012年的年份范围。我们的业务逻辑是在JSF后台打印文档时使用该日期(在代码中称为dateOfStudy)作为标题,一旦完成,我将日历inputext日期字段清空为空。现在点击datepicker图标,当年显示2011年,选择任何一个月(例如回到Auguest,2011),问题发生在这里:年份将改为1991年,不能保持在2011年。jQuery datepicker在选择月份时更改,IE7
如果我不触摸该日期字段,则不会发生问题(不要清除,保留旧日期)。问题仍然会出现,即使我只是通过CSS将日期字体更改为其他颜色(似乎只要我触摸该字段,datepicker就会搞砸了)。如果您今天点击一次,或关闭日期选择器,则不会再发生问题,请再次打开。
似乎datepick需要一些初始化后我清除日期?
我附上了一些代码。我有trid方法/选项像setDate,onChangeMonthYear,beforShowDay,无法解决。任何帮助表示赞赏!
<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>