【发布时间】:2013-08-12 10:52:37
【问题描述】:
我的页面上有多个inputs,所有这些都附加了jQuery UI 的datepicker 小部件。
我想做的是基于input 元素上的data-calendar 属性的show/hide .ui-datepicker-calendar。
例如:
<input type="text" data-calendar="false" />
<input type="text" data-calendar="false" />
<input type="text" data-calendar="true" />
所以,前两个不应该显示.ui-datepicker-calendar,但最后一个应该。
我想我可以利用beforeShow 事件来设置元素的显示,但是,在事件触发时,.ui-datepicker-calendar 还不存在:
$('input').datepicker({
beforeShow: function(el, dp) {
$('.ui-datepicker-calendar').toggle( !$(el).is('[data-calendar="false"]') );
}
});
我看过类似的问题,答案是使用CSS隐藏.ui-datepicker-calendar元素:
.ui-datepicker-calendar {
display: none;
}
但是,这对我不起作用,因为我需要根据元素的 data-calendar 属性设置显示属性。
有没有一种简单的方法来实现这一点?我查看了datepicker API,但没有发现任何东西。
Here's a simple base fiddle
Here's how I would like it to display, if data-calendar is false
【问题讨论】:
标签: jquery jquery-ui-datepicker