我的主页面由一个标签式小部件控制,我有一个专门为此设计的样式表。但是,我刚才意识到我的应用程序中也需要一个datepicker。我已将jquery-ui-style.cs
样式表添加到我的项目中。问题是我只希望这个样式表影响我的datepicker而不是我的标签。
是否有办法在页面最初加载时或文本框关注时,仅将此样式表应用于我的日期选择器?
可能不需要,但这是我的jquery for datepicker:
$(function () {
$("#txtViewWeeksData").datepicker({
changeMonth: true,
changeYear: true,
showOtherMonths: true,
selectOtherMonths: true
});
});
答案 0 :(得分:3)
可悲的是,没有“简单”的方法。
但我在这里做了一个例子:http://jsfiddle.net/ggwGs/9/
在下载页面(http://jqueryui.com/download)上,您可以在“主题”下选择“高级”。在哪里可以创建自定义“CSS范围”,输入和特殊主题名称,例如“.customTheme”并按下donnload。
如果您已创建自定义主题,则在“下载主题”下执行完全相同的操作。
现在我们需要在活动时将CSS范围类添加到Datepicker,并在不活动时删除。
所以我们这样做:
$("#txtViewWeeksData").datepicker({
changeMonth: true,
changeYear: true,
showOtherMonths: true,
selectOtherMonths: true,
beforeShow: function(input, inst) {$(inst.dpDiv).addClass('customTheme');},
onClose: function(dateText, inst) {$(inst.dpDiv).removeClass('customTheme');}
});
基本上我们在显示添加范围之前告诉它,在它关闭之后立即将其删除。