Bootstrap datepicker: Select entire week and put week interval in input field

后端 未结 6 1717
借酒劲吻你
借酒劲吻你 2020-12-23 17:50

I am currently using bootstrap-datepicker (https://github.com/eternicode/bootstrap-datepicker), but want to be able to select entire weeks in the calendar (Monday to Sunday)

6条回答
  •  情歌与酒
    2020-12-23 18:31

    If someone uses daterangepicker instead please follow the extension to make weeks selected

    //moment.locale('ru') //depending on locale you can move start of week
    
    set_picker_start_end = (picker, when) => {
      
      let m = (when == 'now') ? moment() : moment(when) //moment
    
      let week_start  = m.startOf('isoweek')
      let week_end    = m.clone().endOf('isoweek')
      
      picker.setStartDate(week_start);
      picker.setEndDate(week_end);
    }
    
    $("#week-dp").daterangepicker({
      // "showDropdowns": true,
      "showISOWeekNumbers": true,
      "autoApply": true,
      "showCustomRangeLabel": false,
      // "startDate": '', //not work because of one calendar. will be set further
      // "endDate": '', //not work because of one calendar. will be set further
      "drops": "down",
      "singleDatePicker" : true, //to make one click and one calendar
      "locale": {
        "format": "W [week of] GGGG",
        "weekLabel": "#",
      },
    });
    
    set_picker_start_end($("#week-dp").data('daterangepicker'), 'now') //set current week selected
    
    $("#week-dp").on('show.daterangepicker', function(ev, picker) {
    
      let active_cell = picker.container[0].querySelector('td.start-date')
      active_cell.parentElement.classList.add('active') //tr goes active
    });
    
    $("#week-dp").on('apply.daterangepicker', function(ev, picker) {
    
        set_picker_start_end(picker, picker.startDate)
    });
    

    https://jsfiddle.net/dj_floyd/f2hoygdw/

提交回复
热议问题