1

我的主页由选项卡式小部件控制,并且我有一个专门为此设计的样式表。然而,我最近才意识到我的应用程序中也需要一个日期选择器。我已将jquery-ui-style.cs样式表添加到我的项目中。问题是我只希望这个样式表影响我的日期选择器而不是我的选项卡。

有没有办法将此样式表仅应用于我的日期选择器,无论是在页面最初加载时还是在文本框被关注时?

它可能不需要,但这是我的日期选择器 jquery:

$(function () {
    $("#txtViewWeeksData").datepicker({
        changeMonth: true,
        changeYear: true,
        showOtherMonths: true,
        selectOtherMonths: true
    });
});
4

1 回答 1

3

可悲的是,没有“简单”的方法。

但我在这里做了一个例子:http: //jsfiddle.net/ggwGs/9/

在下载页面(http://jqueryui.com/download)上,您可以在“主题”下选择“高级”。您可以在其中创建自定义“CSS Scope”,输入特殊主题名称,例如“.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');}
});

基本上我们在显示添加范围之前告诉它,在它关闭之后再次删除它。

于 2012-04-23T18:17:05.440 回答