2012-04-23 54 views
1

我的主頁由選項卡類型控件控制,我有一個專門爲此設計的樣式表。不過,我最近才意識到我的應用程序中還需要一個日期選擇器。我已將jquery-ui-style.cs樣式表添加到我的項目中。問題是我只想讓這個樣式表影響我的日期選擇器而不是我的選項卡。如何將樣式表應用於我的jquery datepicker小部件?

是否有這個樣式表僅適用於我的日期選擇器既可以當頁面最初加載或當文本框是專注於一種方式?

它可能不是必要的,但這裏是我的jQuery的日期選擇器:

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

在短短几年內這個問題的答案將是容易的,'<風格作用域=「真」> ..'不幸的是,現在你堅持使用一類或類似的範圍了。 :( – Andrew 2012-04-23 17:41:56

+0

似乎很棘手,你只能添加一個outerscope,目前在Themeroller /下載。所以你將不得不編輯CSS,然後在jquery中添加/刪除它之前顯示/關閉 – 2012-04-23 17:56:38

回答

3

可悲的是沒有「簡單」的方法。

但我在這裏做一個例子:在「主題」,選擇「高級」 http://jsfiddle.net/ggwGs/9/

在下載頁面(http://jqueryui.com/download)就可以了。您可以在哪裏創建自定義「CSS範圍」,輸入特殊主題名稱,例如「.customTheme」,然後按donnload。

如果您已經創建了自定義主題,則在「下載主題」下執行的操作完全相同。

現在我們需要的CSS範圍類添加到日期選擇器活躍的時候,和刪除時不。

所以我們做這樣的:

$("#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');} 
}); 

Basicly我們告訴它顯示添加範圍之前正確的,它的封閉之後便又將其刪除。

相關問題