1

私のメイン ページはタブ タイプのウィジェットで制御されており、このために特別に設計されたスタイルシートがあります。ただし、最近、アプリケーションにも日付ピッカーが必要であることに気付きました。jquery-ui-style.csプロジェクトにスタイルシートを追加しました。問題は、このスタイルシートが日付ピッカーにのみ影響し、タブには影響しないことです。

ページが最初にロードされるとき、またはテキストボックスがフォーカスされているときはいつでも、このスタイルシートを日付ピッカーにのみ適用する方法はありますか?

おそらく必要ありませんが、datepicker の 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 スコープ」を作成できる場所で、特別なテーマ名 (例: 「.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 に答える