簡體   English   中英

x-editable datepicker僅限年/月

[英]x-editable datepicker Year/ Month only

我已將jQuery UI datepicker修改為僅顯示年份和月份。 我使用這些javascript事件來處理數據: http//jsfiddle.net/2puz2/4/

$( "#datepicker" ).datepicker({
    showButtonPanel: true,
    changeMonth: true,
    changeYear: true,
    dateFormat: 'yy-mm',
    currentText: 'This Month',
    onClose: function(dateText, inst) {
        var month = $('#ui-datepicker-div .ui-datepicker-month :selected').val();
        var year = $('#ui-datepicker-div .ui-datepicker-year :selected').val();
        $(this).datepicker('setDate', new Date(year, month, 1));
        var setMonth = ('0' + (parseInt(month) + 1)).slice(-2);
        $(this).val('Start: ' +  year + '-' + setMonth);
    },
    beforeShow: function(input, inst) {
        if ((datestr = $(this).val()).length > 0) {
            var dateOutOfDesc = datestr.match(/\d{4}\-\d{2}/);
            var dateparts = dateOutOfDesc[0].split('-');
            var year = dateparts[0];
            var month = dateparts[1];
            $(this).datepicker('option', 'defaultDate', new Date(year, month-1, 1));
            $(this).datepicker('setDate', new Date(year, month-1, 1));
        }
    }
});

現在我想使用x-editable來編輯這個日期,但我無法弄清楚如何將這些回調函數附加到內置的datepicker。 我試過了

editable.input.options.datepicker.beforeShow = function(input, inst) {
...

http://jsfiddle.net/L2Z9Q/18/

但似乎這是在datepicker已經初始化之后。

有任何想法嗎?

您應該使用onChangeMonthYear事件(在月份或年份更改時觸發 - 文檔 )來更新datepicker日期而不是onClose 我沒有解釋為什么onClose沒有被解雇...

$('#yearmonth').editable({
    pk: 1,
    format: 'yyyy-mm',    
    viewformat: 'yyyy-mm',    
    datepicker: {            
        onChangeMonthYear: function(  year,  month,  inst){
            $(this).datepicker('setDate', new Date(year, month-1, 1));
        }
    }
})

小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM