플러그인-daterangepicker 매개 변수 & 사용 요약

11756 단어 web플러그 인
api
api 주소
options
  • startDate(날짜 또는 문자열)가 처음 선택한 날짜 범위의 시작 날짜입니다.문자열을 제공하려면, 설정에 있는locale 설정의 날짜 형식 문자열과 일치해야 합니다.
  • endDate: (날짜 또는 문자열) 처음에 선택한 날짜 범위의 종료 날짜입니다.
  • minDate: (날짜 또는 문자열) 사용자가 선택할 수 있는 가장 빠른 날짜입니다.
  • maxDate: (날짜 또는 문자열) 사용자가 선택할 수 있는 최신 날짜입니다.
  • maxSpan: (object)에서 선택한 시작 날짜와 종료 날짜 사이의 최대 경계입니다.maxSpan은 설정 생성기에서 그것을 어떻게 사용하는지 예시를 검사합니다.날짜에 추가할 수 있는 모멘트 라이브러리를 제공할 수 있습니다.
  • showDropdowns: (true/false) 년도와 월차를 표시하기 위해 달력 위의 상자를 선택하여 특정한 월과 년도로 이동합니다.
  • minYear: (number)showDropdowns가true로 설정되었을 때 밑에 있는 목록에 표시된 최소 연도.
  • maxYear: (숫자)showDropdowns가true로 설정되었을 때 아래 목록에 표시된 최대 연도.
  • showWeekNumbers:(true/false) 달력에 매주 시작되는 로컬 주수를 표시합니다.
  • show ISOWeek Numbers: (true/false) 달력의 매주 시작 시 ISO 주수를 표시합니다.
  • timePicker: (true/false) 날짜를 제외한 시간을 선택하기 위해 선택 상자를 추가합니다.
  • timePickerIncrement: (숫자)분 선택 목록의 증량(즉 30, 0 또는 30으로 끝나는 시간만 허용).
  • timePicker24Hour: (true/false)는 12시간이 아닌 24시간 동안 AM/PM 선택을 삭제합니다.
  • timePickerSeconds:(true/false)timePicker에 초수를 표시합니다.
  • ranges: (object) 사용자가 선택할 수 있는 미리 정의된 날짜 범위를 설정합니다.모든 키는 범위의 탭입니다. 그 값은 하나의 그룹입니다. 그 중 두 날은 범위의 경계를 표시합니다.ranges 설정 생성기의 예시를 누르십시오.
  • showCustomRangeLabel: (true/false)ranges에서 이 옵션을 사용할 때 미리 정의된 범위 목록의 끝에 '사용자 정의 범위' 를 표시합니다.이 옵션은 현재 날짜 범위 선택이 미리 정의된 범위 중 하나와 일치하지 않으면 강조 표시됩니다.새 범위를 선택하려면 누르면 달력이 표시됩니다.
  • always Show Calendars: (true/false) 보통 이 ranges 옵션을 사용하여 미리 정의된 날짜 범위를 지정하면 사용자가 '사용자 정의 범위' 를 누르기 전에 사용자 정의 날짜 범위를 선택하는 달력을 표시하지 않습니다.이 옵션을true로 설정하면 사용자 정의 날짜 범위를 선택하는 데 사용할 달력이 항상 표시됩니다.
  • opens: ('left'/'right'/'center') 선택기가 왼쪽, 오른쪽, 또는 추가된 HTML 요소와 일치하는지 여부입니다.
  • drops: ('down'/'up') 선택기가 아래에 나타날지 (기본값) 추가된 HTML 요소보다 높을지.
  • buttonClasses: (string)는 apply와 cancel 단추의 CSS 클래스에 추가됩니다.
  • applyButtonClasses: (문자열) 은 '응용' 단추의 CSS 클래스 이름에만 추가됩니다.
  • cancelButtonClasses: (string)는 취소 단추의 CSS 클래스 이름에만 추가됩니다.
  • locale: (object)는 단추와 탭에 로컬 문자열, 사용자 정의 날짜 형식, 달력 변경 첫날을 제공합니다.locale는 설정 생성기에서 이 옵션을 사용자 정의하는 방법을 검사합니다.
  • singleDatePicker: (true/false)는 두 개의 달력이 있는 범위 선택기가 아닌 날짜를 선택할 수 있는 달력만 표시합니다.콜백에 사용할 수 있는 시작 날짜와 종료 날짜는 선택한 단일 날짜와 같습니다.
  • autoApply: (true/false) 적용과 취소 단추를 숨기고 두 날짜를 누르면 자동으로 새 날짜 범위를 적용합니다.
  • linkedCalendars: (true/false)가 활성화되면 표시된 두 달력은 항상 두 달(즉 1월과 2월) 연속되며 달력 위의 왼쪽 화살표나 오른쪽 화살표를 누르면 두 달력이 앞당겨집니다.사용 안 함으로 설정하면 달력 2개를 개별적으로 사용할 수 있으며 월/연도를 표시할 수 있습니다.
  • isInvalidDate: (function)는 표시하기 전에 두 달력에 날짜마다 함수를 전달하고true나false로 돌아가 날짜를 선택할 수 있는지 여부를 표시할 수 있습니다.
  • isCustomDate: (function)는 표시하기 전에 두 달력에 날짜마다 함수를 전달하고 CSS 클래스 이름의 문자열이나 그룹을 되돌려 달력 칸에 적용할 수 있습니다.
  • autoUpdateInput: (true/false) 날짜 범위 선택기가 초기화할 때와 선택한 날짜가 바뀔 때 추가 요소의 값을 자동으로 업데이트해야 하는지를 표시합니다.
  • parentEl: (문자열) 날짜 범위 선택기의 부모 요소를 추가하는 jQuery 선택기입니다. 제공하지 않으면 'body'
  • 메서드
  • setStartDate(Date or string): 날짜 범위 선택기의 현재 선택한 시작 날짜를 제공된 날짜로 설정합니다
  • setendDate(Date or string): 날짜 범위 선택기의 현재 선택한 종료 날짜를 제공된 날짜로 설정합니다
  • 사용 방법:
    $('#id').data('daterangepicker').setStartDate(‘2018-12-11’);
    

    이벤트
  • show.daterangepicker: 선택기를 표시할 때 터치
  • hide.daterangepicker: 선택기를 숨길 때 터치
  • showCalendar.daterangepicker: 달력을 표시할 때 트리거
  • hideCalendar.daterangepicker: 달력을 숨길 때 터치
  • apply.daterangepicker: 응용 단추를 누르거나 미리 정의된 범위를 누르면 터치합니다
  • cancel.daterangepicker: 취소 단추를 눌렀을 때 터치 사용 방식:
  • $('#id').on('apply.daterangepicker', function (ev, picker) {
    	// code
    	// console.log("start = "+picker.startDate.format('YYYY-MM-DD')+" end = "+picker.endDate.format('YYYY-MM-DD'));
    });
    
    

    묶음해제daterangepicker
    $('#id').off('.daterangepicker');
    

    minDate
    minDate: "", //       minDate
    

    minDate가 필요하지 않으면 minDate:null을 설정해야 하거나 주의를 설정하지 않아야 합니다: startDate와endDate는null을 설정할 수 없습니다. 그렇지 않으면 null을 잘못 보고한 후에 typeof options를 발견할 수 있습니다.minDate==='object'는 다음 문장을 실행하여 좌우 전환 화살표가 보이지 않기 때문에 minDate가 없으면 패스false로 변경합니다
    if (typeof options.minDate === 'object')
        this.minDate = moment(options.minDate);
    

    리셋에서 현재 요소 - this를 호출합니다.element
    $('#date').daterangepicker({
    	startDate: '2018-01-01',
    	endDate: '2018-12-10',
    	autoUpdateInput:false,
    	applyClass : 'btn-sm btn-success',
    	cancelClass : 'btn-sm btn-default',
    	locale: {
    	    applyLabel: '  ',
    	    cancelLabel: '  ',
    	    fromLabel : '    ',
    	    toLabel : '    ',
    	    customRangeLabel : '   ',
    	    firstDay : 1,
    	    format: 'YYYY-MM-DD',
    	},
    	opens : 'right',    //           
    	separator : '   ',
    	"showDropdowns": true
    }, function(start, end, label) { //         
    	//        this.element
    })
    

    기본 날짜 확인 을 클릭하면 데이터가 채워지지 않습니다
    날짜 창을 초기화할 때 들어오는 리셋 함수는 사용자가 특정한 날짜를 클릭한 후에만 터치합니다. 사용자가 기본 날짜를 선택하면 터치하지 않습니다.
    $('#date').daterangepicker({
    	startDate: '2018-01-01',
    	endDate: '2018-12-10',
    	autoUpdateInput:false,
    	applyClass : 'btn-sm btn-success',
    	cancelClass : 'btn-sm btn-default',
    	locale: {
    	    applyLabel: '  ',
    	    cancelLabel: '  ',
    	    fromLabel : '    ',
    	    toLabel : '    ',
    	    customRangeLabel : '   ',
    	    firstDay : 1,
    	    format: 'YYYY-MM-DD',
    	},
    	opens : 'right',    //           
    	separator : '   ',
    	"showDropdowns": true
    }, function(start, end, label) { //         
    	//      input   ,                 ,      
    })
    

    해결 방법: 감청 apply.daterangepicker 이벤트
    $('#date').on('apply.daterangepicker', function (ev, picker) {
    	//       
    	console.log(picker.startDate.format('YYYY-MM-DD'));
    });
    

    콜백에서 현재 요소 가져오기
    this로.element
    $(obj).daterangepicker({
        autoUpdateInput:false,
         clearBtn:true,
         "singleDatePicker": true,
         "showDropdowns": true,
         locale : {
             format: 'YYYY-MM-DD',  
         }    
     },function(start, end, label) { 
         this.element.val(start.format('YYYY-MM-DD'))
         if (is_clear) {
             this.element.after('')
             this.element.nextAll('.date_img').hide()
             this.element.nextAll('.clear_time').show()
         }
     });
    

    이중 달력의 시작과 끝 선택은 서로 영향을 주지 않는다
    약서 주소 참조
    더블 달력 클릭 공백에서 닫기, 다시 클릭 오류 보고
  • 해결:show:function(e)방법에서 주석을//this.oldStartDate = this.startDate.clone();//this.oldEndDate = this.endDate.clone(); this로 변경.oldStartDate = this.startDate; this.oldEndDate = this.endDate;

  • 달력 확장 표시가 완전하지 않습니다.
    포지셔닝 소자가 어느 방향에서 창이 넘칠 때 원소를 목표의 다른 쪽으로 뒤집어 충돌 검사를 다시 실행하여 적합한지 확인하기 위해 파라미터 클립을 추가합니다
     this.flip = false; //                 ,            ,                
    
    if (typeof options.flip === 'boolean')
                this.flip = options.flip;
    

    move:function에서
    move: function() {
      var parentOffset = { top: 0, left: 0 },
          containerTop;
      var parentRightEdge = $(window).width();
      if (!this.parentEl.is('body')) {
          parentOffset = {
              top: this.parentEl.offset().top - this.parentEl.scrollTop(),
              left: this.parentEl.offset().left - this.parentEl.scrollLeft()
          };
          parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left;
      }
    
      if (this.drops == 'up')
          containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;
      else
          containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;
      this.container[this.drops == 'up' ? 'addClass' : 'removeClass']('dropup');
      
      /*************************** new add start ***********************/
      if (this.flip && this.parentEl.is('body')) {
          //                ,   
          var dropUpFlag = this.drops == 'up' ? true : false;
          if (this.drops == 'up') {
              if (containerTop < 0) {
                  var tempTopDown = this.element.offset().top + this.element.outerHeight() - parentOffset.top;
                  if (tempTopDown + this.container.outerHeight() < $('body').height()) {
                      containerTop = tempTopDown;
                      dropUpFlag = false;
                  } else {
                      containerTop = 0;
                  }
              }
          } else {
              if (containerTop + this.container.outerHeight() > $('body').height()) {
                  var tempTopUp = this.element.offset().top - this.container.outerHeight() - parentOffset.top;
                  if (tempTopUp >= 0) {
                      containerTop = tempTopUp;
                      dropUpFlag = true;
                  } else {
                      containerTop = $('body').height() - this.container.outerHeight();
                  }
              }
          }
          this.container[dropUpFlag ? 'addClass' : 'removeClass']('dropup');
      }
     /*************************** new add end***********************/
     
      var m_num= this.container.find('.single').length;
      var isEmpty_customPickers = $.isEmptyObject(this.customPickers);
      if(m_num==1){
          if (!isEmpty_customPickers) {
              this.container.css({
                 width:440
              });
          } else {
              this.container.css({
                 width:350
              });
          }
          
      }else{
          if (!isEmpty_customPickers) {
              this.container.css({
                 width:800
              });
          } else {
              this.container.css({
                 width:710
              });
          }
      }
      if (this.opens == 'left') {
          this.container.css({
              top: containerTop,
              right: parentRightEdge - this.element.offset().left - this.element.outerWidth(),
              left: 'auto'
          });
          if (this.container.offset().left < 0) {
              this.container.css({
                  right: 'auto',
                  left: 9
              });
          }
      } else if (this.opens == 'center') {
          this.container.css({
              top: containerTop,
              left: this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2
                      - this.container.outerWidth() / 2,
              right: 'auto'
          });
          if (this.container.offset().left < 0) {
              this.container.css({
                  right: 'auto',
                  left: 9
              });
          }
      } else {
          this.container.css({
              top: containerTop,
             
              left: this.element.offset().left - parentOffset.left,
    
              right: 'auto'
          });
          if (this.container.offset().left + this.container.outerWidth() > $(window).width()) {
              this.container.css({
                  left: 'auto',
                  right: 0
              });
          }
      }
    },
    

    좋은 웹페이지 즐겨찾기