Похоже, afterShow()
и onAfterChangeMonthYear()
уже подняты улучшения, но, похоже, над ними еще не работает.
Вы могли бы (на данный момент) реализовать это самостоятельно…
Загрузить последний несжатый источник v1.8.13 - см. http://blog.jqueryui.com/2011/05/jquery-ui-1-8-13/ и найти _updateDatepicker: function(inst) {
, а затем добавить вызов новой функции,Вот как я выложил новую функцию:
_updateDatepicker: function(inst) {
// existing jQueryUI code cut for brevity
this._afterShow(inst);
},
_afterShow: function(inst) {
var afterShow = this._get(inst, 'afterShow');
if (afterShow)
afterShow.apply((inst.input ? inst.input[0] : null),
[(inst.input ? inst.input.val() : ''), inst, inst.dpDiv.find('td:has(a)')]);
},
Я просто закодировал функцию, чтобы иметь ту же сигнатуру, что и beforeShow()
, но затем добавил третий параметр - массив <td>
элементов.
Затем вы можете добавить свой собственный обратный вызов к datepicker()
обычным способом.
<script type="text/javascript">
$(function() {
$('#dp').datepicker({
afterShow: function (input, inst, td) {
console.log(td); // needs a browser with a console (Chrome / Firefox+Firebug for example)
}
});
});
</script>
<input type="text" id="dp"/>
Примечание: Я не сделалмного испытаний, но, похоже, он вызывается после того, как средство выбора даты выполнено.Может потребоваться дополнительная работа, чтобы соответствовать вашим требованиям, если это не совсем то, что вам нужно.Надеюсь, это поможет, тем не менее: -)