Наш проект использует JSF1.2, Icefaces 1.8.2, jQuery UI компонент datepicker (версия 1.8.14). Проблема с IE7 (Firefox в порядке). Проблема произойдет в следующей последовательности: выберите дату (например, пару дней до дня). Обратите внимание, что мы установили диапазон года с 1991 по 2012 год. Наша бизнес-логика заключается в печати документа, использующего эту дату (в коде, называемом dateOfStudy) в качестве заголовка, как только это будет сделано, в обратном компоненте JSF, я очищаю поле даты календарного ввода в нуль. Теперь снова нажмите на иконку DatePicker, год по-прежнему показывает 2011 год, выберите любой предыдущий месяц (например, вернитесь к Auguest, 2011), проблема может произойти прямо здесь: год изменится на 1991 год, а не на 2011 год.
Проблема не произойдет, если я не коснусь этого поля даты (не очищайте, сохраните старую дату). Проблема все равно будет появляться, даже если я просто поменяю шрифт даты на другой цвет с помощью 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>