1

日付の選択にjQuery datepickerを使用しています。しかし、「2012 年 4 月」のように日付を表​​示する必要があります。これを実現するために、datepicker コードに次のオプションを追加しました

$(function() {
    $('#a').datepicker({
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        dateFormat: 'MM yy',
    });
});

これを行った後、日付ピッカーで日付として「2012 年 1 月 1 日」を選択したとします。しかし、日付ピッカーをもう一度クリックすると、UI カレンダーには現在の (今日の) 月と年が表示され、以前に選択した日付は表示されません。

ここで完全なコードを見ることができますhttp://jsfiddle.net/kGzXR/1/

ここで何か不足している場合はお知らせください。

4

2 に答える 2

2

月と年のみが必要な場合 (入力に保存しているため)、これを使用できます。

$(function() { 
//set datepicker or month/year selection
        $('#a').datepicker( {
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            dateFormat: 'MM yy'
        }); 

        $("#a").focus(function () {
            $(".ui-datepicker-calendar").hide();
            //add event to perform on done button click
            $(".ui-datepicker-close").click(function(){
                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
            var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                $("#a").datepicker('option', 'defaultDate', new Date(year, month, 1));
            $("#a").datepicker('setDate', new Date(year, month, 1));
            });
        });   

});  

デモをチェック

于 2013-06-14T03:31:28.657 に答える
0

日付の強調表示が問題の場合は、以下を使用して削除できますcss

.ui-datepicker-today a.ui-state-highlight {
    border-color: #d3d3d3;
    background: #e6e6e6 url(/themeroller/images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;;
    color: #555555;    
}

JSFiddle

于 2013-06-14T04:39:21.083 に答える