beforeShow
может использоваться для манипулирования class
перед отображением DatePicker .
$('input').datepicker({
beforeShow: function(input, inst) {
$('#ui-datepicker-div').removeClass(function() {
return $('input').get(0).id;
});
$('#ui-datepicker-div').addClass(this.id);
}
});
Демонстрация (используется jQuery 1.6.2, но требуется jQuery> v1.4 для .removeClass()
, который принимает функцию)
Примечание Это работает путем удаления всех классов (то есть <input>
id
с) с помощью ** общего $('input')
селектора, который вы можете ограничить, просто выбрав <input>
элементы, которые были изменены в средствах выбора даты.
Редактировать Просто был голос за это и, глядя на код, он, похоже, не делал то, что я объяснил, что должен (возможно, я неправильно понял вопрос!). Итак, вот версия, которая добавляет класс, равный id
из <input>
, на который нажал указатель даты. Также использует оригинальный .removeClass()
, так что это будет работать с jQuery> v1.2.
var inputIds = $('input').map(function() {
return this.id;
}).get().join(' '); // space separated ready for removeClass
$('input').datepicker({
beforeShow: function(input, inst) {
$('#ui-datepicker-div').removeClass(inputIds);
$('#ui-datepicker-div').addClass(this.id);
}
});