JQuery UI datepicker не работает при привязке к классу
У меня есть этот код:
<html>
<head>
<link type="text/css" href="css/blitzer/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
$(function() {
$('.hasDatepicker').datepicker();
});
</script>
</head>
<body>
<p>date: <input type="text" name="data" class="hasDatepicker" /></p>
<input type="submit" value="send" />
</div>
</body>
</html>
Когда я нажимаю поле ввода, ничего не происходит. Датапикер инициализируется, хотя, когда я проверяю DOM в Firebug, я добавляю id="dp1260260566059"
к элементу <input>
.
После изменения html
и js
для использования атрибута id
вместо class
, поэтому, имея это в моем коде:
$(function() {
$('#hasDatepicker').datepicker();
});
и
<p>date: <input type="text" name="data" id="hasDatepicker" /></p>
Все работает нормально.
Невозможно datepicker из JQuery UI работать для всех элементов какого-либо класса?
Ответы
Ответ 1
Проверьте, работает ли функция datepicker, если вы измените имя класса полей ввода с 'hasDatePicker' на что-то другое. Причина в том, что при добавлении datepicker в поле ввода с помощью кода ниже:
$(function() {
$('#date').datepicker();
});
он добавляет имя класса "hasDatePicker" в поле ввода. (который используется с помощью u)
Ответ 2
Не используйте hasDatepicker
в качестве имени класса выбора даты. Используйте другое имя, например date_picker
.
JQuery добавляет класс hasDatepicker
к элементу, который вызывается datepicker(). Если элемент уже имеет класс hasDatepicker
, функция datepicker() ничего не делает. Поэтому просто используйте другое имя класса.