jQuery - 如何在初始化之后更改Datepicker设置

时间:2012-03-21 14:34:59

标签: jquery jquery-ui datepicker

我想绑定到初始化的datepicker“onSelect”函数。

我一直在努力在网上找到解决方案,但没有成功。

任何人都可以告诉我该怎么做?

3 个答案:

答案 0 :(得分:17)

您只需使用setter

即可
$('#datepicker').datepicker();
$('#datepicker').datepicker("option", "onSelect", function(){alert('hi')});

在这里摆弄http://jsfiddle.net/nhmsZ/

答案 1 :(得分:1)

我发现上述解决方案在我的案例中引起了问题。在datepicker初始化之后设置onSelect似乎会导致重新初始化datepicker。这可能是不可取的。

如果您遇到问题,可能需要通过后门。当JQUI更新时,这可能会出现兼容性问题,但如果您愿意处理,那么此代码可以帮助您解决...

Dockerfile

答案 2 :(得分:0)

首先,Nicola的回答是正确的,并帮助了我。我找到了一些没有真正解决问题的相关帖子。

我写这篇文章是为了扩展现有的答案。如果您使用的框架限制了您控制JavaScript执行顺序的能力,例如Zend Framework,您可能需要延迟启动该绑定选项。

    $(document).ready(function() {
        function imahackfunction() {
            $('#startdate').datepicker('option', 'onSelect', function () {
                alert($('#startdate').val());
            });
        }
        setTimeout(imahackfunction, 2000);
    }); 

上面对我有用,因为我有两个$(document).ready(function() {块,一个在我的视图中打开,另一个由注入“注入”实例化datepicker的框架。

我想知道为什么datepicker不会简单地触发change属性关联的输入上的altField事件...