2012-04-24 12 views
17

मुझे को अपने jQuery UI डेटपिकर में छोटे नामों से लेकर लंबे नाम में महीने के नाम बदलने की आवश्यकता है।jQuery यूआई डेटपिकर: ड्रॉप-डाउन में महीने से छोटे नामों से छोटे नामों को कैसे बदला जाए?

मेरे गुण हैं:

$.datepicker.regional['de'] = { 
    prevText: '<zurück', 
    nextText: 'vor>', 
    monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 
      'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], 
    monthNamesShort: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 
      'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], 
    dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], 
    dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], 
    dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], 
    weekHeader: 'Wo', 
    dateFormat: 'dd.mm.yy', 
    firstDay: 1, 
    changeMonth: true, 
    changeYear: true, 
    yearRange: "-0:+2", 
    isRTL: false, 
    showMonthAfterYear: false, 
    minDate: 0 
}; 

$.datepicker.setDefaults($.datepicker.regional['de']); 
var dates = $("#von, #bis").datepicker({ 
    showOn: "button", 
    buttonImage: "calendar.png", 
    buttonImageOnly: true, 
    buttonText: 'Datum w\u00E4hlen', 
    onSelect: function (selectedDate) { 
     var option = this.id == "#von" ? "minDate" : "maxDate", 
       instance = $(this).data("datepicker"), 
       date = $.datepicker.parseDate(
        instance.settings.dateFormat || 
        $.datepicker._defaults.dateFormat, 
        selectedDate, instance.settings); 
     dates.not(this).datepicker("option", option, date); 
    } 
}); 

फिलहाल कैलेंडर केवल "अप्रैल" के बदले "अप्रैल" ड्रॉपडाउन सूची में की तरह कम महीने नामों को दर्शाता है।

शायद मैं कोड के कुछ टुकड़े के साथ डिफ़ॉल्ट लंबे नामों को ओवरराइट कर रहा हूं?

कृपया मदद करें।

उत्तर

30

संपत्ति monthNamesShort का उपयोग करें और इसे इच्छित नाम दें।

मेरे मामले में, मैं दिखाने के लिए, महीने के ड्रॉप-डाउन, महीने के लंबे नाम पर, चाहता था में पुर्तगाली:

monthNamesShort: [ "Janeiro", "Fevereiro", "Março", "Abril", 
        "Maio", "Junho", "Julho", "Agosto", "Setembro", 
        "Outubro", "Novembro", "Dezembro" ] 
+3

यह प्रतिक्रिया स्वीकृत उत्तर होना चाहिए। –

+0

मैंने रूसी में भी ऐसा ही किया। –

+0

इसे वैश्विक स्तर पर कैसे सेट करें? –

3

इस समय यह संभव नहीं है। विवरण के लिए https://github.com/jquery/jquery-ui/pull/590 देखें।

+0

साथ यह अभी भी संभव है नहीं? –

+0

@MichelAyres यह संभव है – DanFromGermany

+0

@DanFromGermany क्या आप इस उत्तर को संपादित कर सकते हैं या इस जानकारी के साथ एक नया बना सकते हैं? –

0

कई स्थानों में वे निर्धारित करने के लिए जो उपयोग करने के लिए सूची DateFormat का उपयोग करें। दुर्भाग्य से कोड के इस ब्लॉक में वे इसका उपयोग कर लगातार नहीं थे। मैं एक समायोजन _generateMonthYearHeader में उनकी विधि का पालन करने के लिए बनाया (लाइन 8985 के आसपास):

monthNamesShort[ month ] 

की जगह

(inst.settings.dateFormat.match(/MM/) ? monthNames : monthNamesShort)[ month ]