jQuery UI datepicker에서 날짜를 얻는 방법


85

사용자가 jQuery UI datepicker에서 날짜를 선택하고 양식의 버튼을 클릭 할 때마다 datepicker에서 날짜를 가져오고 싶습니다.

그들이 선택한 날짜의 일, 월, 연도를 알아야합니다. 날짜 양식 jQuery UI를 어떻게 얻을 수 있습니까?

답변:


130

사용하다

var jsDate = $('#your_datepicker_id').datepicker('getDate');
if (jsDate !== null) { // if any date selected in datepicker
    jsDate instanceof Date; // -> true
    jsDate.getDate();
    jsDate.getMonth();
    jsDate.getFullYear();
}

그것이 Date 데이터 유형에 대해 어떤 방법을 실행하는 방법입니까? 내 말은, getDate, getMonth, getFullYear 등?
Ajeeb.KP

날짜 선택기에 GETDATE를 호출 한 후에는 다음하여 getFullYear 등 GETDATE, 속하는 getMonth를 호출하는 데 사용할 수있는 JS 날짜 () 객체를 얻을 수 있습니다
CoolEsh

jsDate 변수를 인쇄하면 Mon Aug 24 2020 00:00:00 GMT + 0530 (인도 표준시)과 같은 결과가 표시됩니다. 이제 jsDate에 getDate, getMonth, getFullYear 메서드를 적용 할 수 있습니다.
Laveena

87

getDate 함수를 사용하여 날짜를 검색 할 수 있습니다.

$("#datepicker").datepicker( 'getDate' );

값은 JavaScript Date 객체로 반환됩니다.

사용자가 날짜를 선택할 때이 값을 사용하려면 onSelect 이벤트를 사용할 수 있습니다.

$("#datepicker").datepicker({
   onSelect: function(dateText, inst) { 
      var dateAsString = dateText; //the first parameter of this function
      var dateAsObject = $(this).datepicker( 'getDate' ); //the getDate method
   }
});

이 경우 첫 번째 매개 변수는 문자열로 선택된 날짜입니다. parseDate를 사용하여 JS Date 객체로 변환합니다.

전체 jQuery UI DatePicker 참조는 http://docs.jquery.com/UI/Datepicker 를 참조 하십시오 .


날짜 개체의 전역 변수가 필요하지 않기 때문에 최상의 솔루션
Rashid

24

이것을 시도하고, 매력처럼 작동하고, 선택한 날짜를 제공합니다. onsubmit 양식은이 값을 얻으십시오.

var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();

여기에서 참조



1

때로는 많은 문제가 있습니다. datapicker 데이터의 속성 값은 2014 년 6 월 28 일이지만 datepicker는 표시되거나 오늘 또는 아무것도 표시되지 않습니다. 나는 그런 방식으로 그것을 결정했습니다.

<input type="text" class="form-control datepicker" data-value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" />

jQuery (this) .val () OR jQuery (this) .attr ( 'value') 호출하면 아무것도 작동하지 않기 때문에 datapicker 속성 데이터 값 입력에 추가했습니다 . 각 데이터 선택기를 주기적으로 초기화하고 속성 데이터 값에서 값을 가져옵니다.

 $("form .datepicker").each(function() {
        var time = jQuery(this).data('value');
        time = time.split('-');
        $(this).datepicker('setDate', new Date(time[2], time[1], time[0], 0, 0, 0));
    });

그리고 그것은 잘 작동합니다 =)


날짜 형식이 dmY 인 경우에만 작동합니다. mdY 또는 다른 형식이 있으면 문제가 없습니다!
Mohamed Nuur

0

NamingException의 답변이 저에게 효과적이었습니다. 내가 사용한 것을 제외하고

var date = $("#date").dtpicker({ dateFormat: 'dd,MM,yyyy' }).val()

datepicker작동하지 않았지만 작동했습니다 dtpicker.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.