2011-01-20 2 views
3

Это мои ЯШИ:JQuery DatePicker не работает в IE7 и IE8

$(document).ready(function() { 
$("input#dateTill").datepicker(); 
}); 

Моего HTML:

<input type="text" name="dateTill" id="dateTill" class="input" value="20.1.2011" maxlength="10" size="10" style="margin-left: 0; background: url(images/icons/16_calendar.png) 75px center no-repeat;" /> 

DatePicker работает во всех нормальных браузерах, таких как Firefox, Chrome, Opera. Он не работает в IE7 и IE8.

Когда я нажимаю внутри поля ввода, окно datepicker не появляется.

Любые идеи? Я использую jquery 1.4.4.

+0

Проверял ваш код в IE8 и работал .... –

ответ

8

Прежде всего, просто убедитесь, что не используйте ту же строку для идентификатора и свойства name. И, ради бога, не определяйте свой класс с зарезервированным словом, как , вход, это и внутренний класс/элемент уже. Пойдите для чего-то вроде pickerClass. Кроме того, я думаю, что ваш синтаксис синтаксиса jQuery неверен, нет необходимости в вводе , у вас уже есть идентификатор для этого элемента. Это:

$("#dateTill").datepicker(); 

ИЛИ

$("input.pickerClass").datepicker(); 

, если по какой-то странной причине вы хотите выбрать несколько входов одновременно. Кроме того, если у вас есть определенный CSS-класс, тогда переместите встроенный стиль в CSS, если он будет использоваться для большего количества полей ввода.

+2

@Dunhamzzz Конечно, это не имеет ничего общего с моей проблемой. Все проблемы, перечисленные в списке, не должны влиять на функциональность datepicker. Они могут быть семантическими или презентационными ошибками/проблемами, но они не должны влиять на мою проблему. –

+2

Вы пробовали то, что я предлагал, или просто сказали, что это не следует заранее? Да, они, вероятно, НЕ ДОЛЖНЫ иметь, но мы говорим об этом здесь (да, суровый снова). Придерживайтесь хорошей практики кодирования, и вы избегаете много головной боли. Я пришел к выводу, сравнив ваш код с образцом кода на странице диалога jQuery UI (который работает в IE8, уже проверен), я предлагаю вам сделать то же самое. Предложение отладки: удалите всю настройку диалога и добавьте по одному, чтобы увидеть, где он сломается. Извините, если я чувствую себя дерзким. – crowicked

+1

Да, вы должны помнить, что IE может сломать все по самым тривиальным вопросам, добавив лишнюю запятую в конце списка свойств объекта, является самым худшим. Очистка/Оптимизация кода может очень хорошо исправить любые проблемы IE. Убедитесь, что HTML так же действителен, как и может быть. – Dunhamzzz