javascript – jQuery Datepicker“更新后”事件或等效项

前端之家收集整理的这篇文章主要介绍了javascript – jQuery Datepicker“更新后”事件或等效项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用标准的jQuery Datepicker,我需要根据一些日常状态信息修改每个TD中的文本.我意识到我可以连接“beforeShowDay”事件,但这只允许我修改每个日期的css信息.希望在整个日历上的事件,如“afterRender”等.

我可以修改显示的第一个日历,但如果用户更改月或年,我(或我的代码)不在循环中.

解决方法

看起来像 afterShow()onAfterChangeMonthYear()已经提升了一些增强功能,但是似乎还没有任何工作.

你可以(现在)自己实现…

下载latest uncompressed source 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()相同的签名,但是添加了第3个参数 – < td>元素.

然后,您可以以通常的方式将自己的回调添加到datepicker().

<script type="text/javascript">
    $(function() {
        $('#dp').datepicker({
            afterShow: function (input,td) {
               console.log(td); // needs a browser with a console (Chrome / Firefox+Firebug for example)
            }
        });
    });
</script>
<input type="text" id="dp"/>

注意:我没有做过大量测试,但是在渲染datepicker后似乎被调用.如果不完全符合您的要求,可能需要更多的工作才能满足您的要求.希望它有助于:-)

猜你在找的jQuery相关文章