我的页面上有多个,所有这些都附加了inputs
jQuery UI 的小部件。datepicker
我想做的是show/hide
基于.ui-datepicker-calendar
元素上的属性data-calendar
。input
例如:
<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,但没有遇到任何问题。