Ответ 1
Похож на afterShow()
и onAfterChangeMonthYear()
уже подняты усовершенствования, но пока не существует какой-либо работы над ними.
Вы могли (на данный момент) реализовать его самостоятельно и hellip;
Загрузите последний несжатый источник 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"/>
Примечание. Я не проводил много тестирования, но, похоже, он вызывается после отображения datepicker. Возможно, вам потребуется дополнительная работа, чтобы соответствовать вашим требованиям, если это не совсем то, что вам нужно. Надеюсь, что это все равно поможет: -)