7

jQuery datepickerに月を変更するための選択ボックスがあるのに、完全な月の名前が表示されないのは本当に困惑しています(ただし、他の月には表示されます)。

スクリーンショット:http: //i.imgur.com/Pdkq0.png

ソースコードを変更せずに完全な月の名前を表示するように日付ピッカーをカスタマイズする方法はありますか?

4

6 に答える 6

14

少し遅いかもしれませんが、現時点では同じ問題を抱えていて、簡単に修正できました。datepicker 関数を呼び出す前に、monthnames 配列を取得し、それらを新しい変数に入れ、その変数を呼び出してショートネームを変更します。

var fullmonth_array = $.datepicker.regional['nl'].monthNames; // change 'nl' to your own language of course
$('input[name="date-of-birth"]').datepicker(
{
   changeYear               : true,
   changeMonth              : true,
   yearRange                : "-85:-18",
   maxDate                  : "-18Y",
   minDate                  : "-85Y",
   monthNamesShort          : fullmonth_array
   // other stuff
}
于 2013-10-17T05:08:49.750 に答える
8

さらに良い解決策はmonthNames、ロケール オブジェクトから使用することです。

// jQuery UI datepicker
$("#datepicker").datepicker({
    monthNamesShort: $.datepicker.regional["en"].monthNames
});
于 2015-03-25T14:55:02.080 に答える
1

UI datepickerを更新するよりも良い方法を見つけないでください、しかしそれはあなたに考えを与えます:

デモ

var months = ["January", "February", "March", "April", "May", "June",
                  "July", "August", "September", "October", "November", "December"];
var uDatepicker = $.datepicker._updateDatepicker;
$.datepicker._updateDatepicker = function() {
    var ret = uDatepicker.apply(this, arguments);
    var $sel = this.dpDiv.find('select');
    $sel.find('option').each(function(i) {
        $(this).text(months[i]);
    });
    return ret;
};

$(function() {
    $("#id").datepicker({
        changeMonth: true,
        dateFormat: 'MM yy'
    });
});​
于 2012-12-13T17:49:17.107 に答える
1

日付ピッカーを拡張し、問題のある関数を「オーバーライド」して、長い名前を渡すことができます。

$.extend($.datepicker, {
    __base__generateMonthYearHeader: $.datepicker._generateMonthYearHeader,

    _generateMonthYearHeader: function (inst,
                                        drawMonth,
                                        drawYear,
                                        minDate,
                                        maxDate,
                                        secondary,
                                        monthNames,
                                        monthNamesShort) {
        return $.datepicker.__base__generateMonthYearHeader(
            inst,
            drawMonth,
            drawYear,
            minDate,
            maxDate,
            secondary,
            monthNames,
            monthNames)
    }
});

これには、ドロップダウンに完全な名前が表示されるという利点がありますが、入力要素が選択された日付で設定されている場合、設定/オプションで指定されたフォーマットを許可します。

于 2014-01-30T22:46:15.183 に答える
1

//jquery UI 日付ピッカー

ここでMMは月のフルネームを表示します

$("#datepicker").datepicker({
            changeMonth: true,
            changeYear: true,
            dateFormat: 'dd MM yy',
});
于 2016-06-08T07:30:05.213 に答える
0

属性 " monthNamesShort" を次のように定義できます:

 $(".selector").datepicker({
   monthNamesShort: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
 });
于 2013-04-11T17:18:06.493 に答える