簡體   English   中英

生日:無需點擊日期即可修改月份或年份

[英]Pikaday : Modify month or year without click a date

選擇日期后,我想對其進行修改。 當我選擇一個月或一年而不選擇一天時,我嘗試更改輸入中的日期。 我找不到解決方法。 謝謝

的HTML

<style>
    div.pika-label:hover{
    color:#ff9705;
}
</style>
<input type="text" name="start_date" id="start_date">
<input type="text" name="end_date"   id="end_date"  >

JS

var start_date = new Pikaday({
    format: 'DD / MM / YYYY',
    field: document.getElementById('start_date'),
    onSelect: function() {
        end_date.setMinDate(this.getDate());
    }
});
var end_date = new Pikaday({
    format: 'DD / MM / YYYY',
    field: document.getElementById('end_date'),
    onSelect: function() {
        start_date.setMaxDate(this.getDate());
    }
});
// I want to collect month data and create a new date with Pikaday.setDate()
jQuery('.pika-select-month').on('change', function() {
  alert(this.value);
});

http://jsfiddle.net/madvic/nqakkru1/10/

它不起作用,因為在您綁定change事件時,選擇可能尚未在DOM上存在。 嘗試這樣綁定:

jQuery(document).on('change', '.pika-select-month', function() {
    alert(this.value);
});

從更改日期開始, Pikaday似乎為此提供了一些輔助方法。

在您的幫助下,我更改了值:

JS

jQuery(document).on('change', '.pika-select-month', function() {
    pika_modif_date('month', this.value);
});

jQuery(document).on('change', '.pika-select-year', function() {
    pika_modif_date('year', this.value);
});


function pika_modif_date(type, value_change){
    var pik_obj;
    // identifying object
    if( start_date.isVisible() ){
        pik_obj = 'start_date';
    }
    else{
        pik_obj = 'end_date';
    }
    var actual_date;
    // Date of the object
    eval('actual_date = '+pik_obj+'.getDate();');
    // If date not exist
    if (actual_date == null){
        return;
    }
    // Modify month or yeah
    if( 'month' == type ){
        actual_date.setMonth(value_change);
    }
    else{
        actual_date.setFullYear(value_change);
    }
    // Format for set to pikaday
    year = 1900 + actual_date.getYear();
    eval(pik_obj+'.setDate(new Date(' + year +','+ actual_date.getMonth() +','+ actual_date.getDate() +'), 1);');
}

http://jsfiddle.net/madvic/nqakkru1/12/

暫無
暫無

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

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