Jquery 如何刷新日期选择器?function.datePickerMultiMonth()函数
真的很喜欢约会采集器。非常感谢这个伟大的图书馆 在此示例中,我有一个问题要问您(内联日期选择器): 我添加了一个“renderCallback”功能来根据复选框禁用周天数。。。(例如,选中“星期六”复选框时,禁用显示的所有星期六) 当使用datePickerMultiMonth()初始化日历时,此操作非常有效 但是,当其中一个复选框发生更改(例如,取消选择星期一复选框)时,如何刷新内联日历 原样:当我选中/取消选中复选框时,日期选择器保持不变。。只有手动更改到下个月后,才会更新和禁用,例如所有周一。。。更改“星期一”复选框时,应立即执行此操作 你知道我如何刷新日期纠察吗?非常感谢你的帮助 干杯,Jquery 如何刷新日期选择器?function.datePickerMultiMonth()函数,jquery,datepicker,Jquery,Datepicker,真的很喜欢约会采集器。非常感谢这个伟大的图书馆 在此示例中,我有一个问题要问您(内联日期选择器): 我添加了一个“renderCallback”功能来根据复选框禁用周天数。。。(例如,选中“星期六”复选框时,禁用显示的所有星期六) 当使用datePickerMultiMonth()初始化日历时,此操作非常有效 但是,当其中一个复选框发生更改(例如,取消选择星期一复选框)时,如何刷新内联日历 原样:当我选中/取消选中复选框时,日期选择器保持不变。。只有手动更改到下个月后,才会更新和禁用,例如所有
Markus看了一下源代码后,似乎您必须执行以下操作:
$.event._dpCache[$('.date-pick')[0]._dpId]._applyRenderCallbacks()
或者可能是:
$.event._dpCache[$('.date-pick')[0]._dpId]._rerenderCalendar()
$.event.\u dpCache[$('.date pick')[0].\u dpId]
部分用于获取与css'.date pick'
匹配的第一个内部日期选择器对象,这是访问内部\u applyRenderCallbacks
和\u rerenderCalendar
函数所需的
不幸的是,这确实访问了插件的内部结构,因此在新版本发布时它可能会中断,但是我找不到任何可公开访问的方法来刷新日历。解决此问题的最简单方法可能是删除现有日历,然后重新发布它。e、 g:
$mm.empty().datePickerMultiMonth({});
但是,这有一些缺点,因为没有维护日期选择器的状态(例如,显示的月份、选定的日期等)
因此,我只是对插件做了一些更改,并引入了一种新方法:dpmmRerenderCalendar
在多月选取器上(以及相应的dprendercalendar
在日期选取器本身上)
您可以在此处看到一个正在运行的示例:
并且可以从我的网站或谷歌代码库中获取最新的插件代码
.datepicker( "refresh" )
你可以在网上找到它
单击“方法”选项卡很好的检测工作和很好的解决方法,因为公众无法访问插件的相关方法。。。在回答问题时,这将是最好的解决办法。我刚刚更新了插件,这样rerender方法就可以公开使用,这使得解决方案更易于维护……清除旧设置删除日期选择器并重新创建它可能是最好的选择。只需使用.datepicker(“销毁”),然后在回调中重新初始化。