[JQUERY] jQuery를 DatePicker에서 onchange를 이벤트 문제
JQUERYjQuery를 DatePicker에서 onchange를 이벤트 문제
해결법
-
1.당신은 날짜 선택기의 onSelect를 이벤트를 사용할 수 있습니다.
당신은 날짜 선택기의 onSelect를 이벤트를 사용할 수 있습니다.
$(".date").datepicker({ onSelect: function(dateText) { console.log("Selected date: " + dateText + "; input's current value: " + this.value); } });
라이브 예 :
$ ( ". 날짜") .날짜 선택기({ onSelect를 : 함수 (dateText) { 을 console.log ( "선택한 날짜 :"+ dateText + ", 입력의 현재 값 :"+ this.value); } }) CSTE 연구진 ( "변경"기능 () { ( "필드에서 가져온 변경 이벤트")를 CONSOLE.LOG; }); <링크 HREF = "http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css"REL = "스타일"/> <스크립트 SRC = "http://code.jquery.com/jquery-1.8.3.min.js"> script> <스크립트 SRC = "http://code.jquery.com/ui/1.9.2/jquery-ui.js"> script>
불행하게도, onSelect를 화재는 날짜가 변경되지 않은 경우에도, 선택 될 때마다. 항상 (아무것도 변경하지 않는 경우에도) onSelect를를 발생하고, 변화에 대한 기본이되는 입력에 어떤 이벤트가 발생하지 않습니다 :이 날짜 선택기의 설계 결함이다. (우리가 변화를 듣고, 그 예제의 코드를 보이지만 경우에 그들이가 발생되지 않습니다.) 그것은 아마도 입력에 이벤트를 발생시기를 가지 변화 (아마도 보통의 변경 이벤트, 또는 아마도 날짜 선택기 - 특정 일).
당신이 좋아하는 경우에, 물론, 당신은 입력 화재에 변경 이벤트를 만들 수 있습니다 :
$(".date").datepicker({ onSelect: function() { $(this).change(); } });
임의 핸들러 inputfor 기본에 그 의지를 불 변화는 jQuery를 통해 연결시켜 줬습니다. 그러나 다시, 그것은 항상 그것을 발생합니다. 당신이 진정한 변화 만 불을하려는 경우, 당신은 (아마도 데이터를 통해) 이전 값을 저장하고 비교해야합니다.
라이브 예 :
$ ( ". 날짜") .날짜 선택기({ onSelect를 : 함수 (dateText) { 을 console.log ( "선택한 날짜 :"+ dateText + ", 입력의 현재 값 :"+ this.value); $ (이) .change (); } }) CSTE 연구진 ( "변경"기능 () { ( "필드에서 가져온 변경 이벤트")를 CONSOLE.LOG; }); <링크 HREF = "http://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css"REL = "스타일"/> <스크립트 SRC = "http://code.jquery.com/jquery-1.8.3.min.js"> script> <스크립트 SRC = "http://code.jquery.com/ui/1.9.2/jquery-ui.js"> script>
-
2.T.J. 크라우의 대답은 (https://stackoverflow.com/a/6471992/481154) 매우 좋은이며, 아직 정확한 남아있다. 당신이받을거야으로 onSelect를 함수 내에서 변경 이벤트를 트리거링 가까이입니다.
T.J. 크라우의 대답은 (https://stackoverflow.com/a/6471992/481154) 매우 좋은이며, 아직 정확한 남아있다. 당신이받을거야으로 onSelect를 함수 내에서 변경 이벤트를 트리거링 가까이입니다.
그러나이 조건 값 (들)을 직접 저장하지 않고 단지 실제 변경에 대한 변경 이벤트를 트리거 할 수 있도록 할 날짜 선택기 개체 (lastVal)에 좋은 특성이있다 :
$('#dateInput').datepicker({ onSelect: function(d,i){ if(d !== i.lastVal){ $(this).change(); } } });
그럼 그냥 정상처럼 변경 이벤트를 처리 :
$('#dateInput').change(function(){ //Change code! });
-
3.귀하의 날짜 선택기 개체의 onSelect를 이벤트를 찾고 :
귀하의 날짜 선택기 개체의 onSelect를 이벤트를 찾고 :
$('.selector').datepicker({ onSelect: function(dateText, inst) { ... } });
-
4.
$('#inputfield').change(function() { dosomething(); });
-
5.나는 날짜가 변경된 경우에만 이벤트를 트리거 할 수있는 솔루션을 필요로했기 때문에 나는 이것을 썼다.
나는 날짜가 변경된 경우에만 이벤트를 트리거 할 수있는 솔루션을 필요로했기 때문에 나는 이것을 썼다.
그것은 간단한 솔루션입니다. 대화 상자를 닫을 때마다 우리는 데이터가 변경되었는지 테스트합니다. 이 경우, 우리는 사용자 정의 이벤트를 트리거 및 저장된 값을 다시 설정합니다.
$('.datetime').datepicker({ onClose: function(dateText,datePickerInstance) { var oldValue = $(this).data('oldValue') || ""; if (dateText !== oldValue) { $(this).data('oldValue',dateText); $(this).trigger('dateupdated'); } } });
이제 우리는 사용자 정의 이벤트에 대한 핸들러를 연결 할 수 있습니다 ...
$('body').on('dateupdated','.datetime', function(e) { // do something });
-
6.나는 부트 스트랩 - 날짜 선택기와 나를 위해 일한 위의 솔루션 없음을 사용하고 있습니다. 이 대답은 나에게 도움이 ..
나는 부트 스트랩 - 날짜 선택기와 나를 위해 일한 위의 솔루션 없음을 사용하고 있습니다. 이 대답은 나에게 도움이 ..
수동으로 날짜 청산 날짜를 편집 할 때 날짜 선택기 변경 날짜 이벤트 나던 화재를 부트 스트랩
저는 여기에 적용되는 것입니다 :
$('.date-picker').datepicker({ endDate: new Date(), autoclose: true, }).on('changeDate', function(ev){ //my work here });
이 캔 도움말 다른 사람을 바랍니다.
-
7.jQueryUi 1.9에 나는 추가 데이터 값과 beforeShow 및 onSelect를 기능의 조합을 통해 작업에 그걸 얻기 위해 관리했습니다 :
jQueryUi 1.9에 나는 추가 데이터 값과 beforeShow 및 onSelect를 기능의 조합을 통해 작업에 그걸 얻기 위해 관리했습니다 :
$( ".datepicker" ).datepicker({ beforeShow: function( el ){ // set the current value before showing the widget $(this).data('previous', $(el).val() ); }, onSelect: function( newText ){ // compare the new value to the previous one if( $(this).data('previous') != newText ){ // do whatever has to be done, e.g. log it to console console.log( 'changed to: ' + newText ); } } });
나를 위해 작동 :)
-
8.나는이 오래된 질문 알아요. 하지만 난 제대로 onSelect를 불에 JQuery와 $ (이) .change () 이벤트를 가져올 수 없습니다. 나는 다음과 같은 방법으로 가니 바닐라 JS를 통해 변경 이벤트가 발생합니다.
나는이 오래된 질문 알아요. 하지만 난 제대로 onSelect를 불에 JQuery와 $ (이) .change () 이벤트를 가져올 수 없습니다. 나는 다음과 같은 방법으로 가니 바닐라 JS를 통해 변경 이벤트가 발생합니다.
$('.date').datepicker({ showOn: 'focus', dateFormat: 'mm-dd-yy', changeMonth: true, changeYear: true, onSelect: function() { var event; if(typeof window.Event == "function"){ event = new Event('change'); this.dispatchEvent(event); } else { event = document.createEvent('HTMLEvents'); event.initEvent('change', false, false); this.dispatchEvent(event); } } });
-
9.이 시도
이 시도
$('#dateInput').datepicker({ onSelect: function(){ $(this).trigger('change'); } }});
도움이 되었기를 바랍니다:)
-
10.시도 :
시도 :
$('#idPicker').on('changeDate', function() { var date = $('#idPicker').datepicker('getFormattedDate'); });
-
11.수동 말한다 :
수동 말한다 :
apply.daterangepicker: Triggered when the apply button is clicked, or when a predefined range is clicked
그래서:
$('#daterange').daterangepicker({ locale: { cancelLabel: 'Clear' } }); $('#daterange').on('apply.daterangepicker', function() { alert('worked!'); });
나를 위해 작동합니다.
-
12.내 솔루션 :
내 솔루션 :
var $dateInput = $('#dateInput'); $dateInput.datepicker({ onSelect: function(f,d,i){ if(d !== i.lastVal){ $dateInput.trigger("change"); } } }).data('datepicker'); $dateInput.on("change", function () { //your code });
-
13.내 솔루션입니다 :
내 솔루션입니다 :
events: { 'apply.daterangepicker #selector': 'function' }
-
14.아래 DatePicker에서 선택된 값 변경 이벤트 코드
아래 DatePicker에서 선택된 값 변경 이벤트 코드
/* HTML Part */ <p>Date: <input type="text" id="datepicker"></p> /* jQuery Part */ $("#datepicker").change(function() { selectedDate= $('#datepicker').datepicker({ dateFormat: 'yy-mm-dd' }).val(); alert(selectedDate); });
-
15.당신이 wdcalendar 사용하는 경우이 당신을 도울 것
당신이 wdcalendar 사용하는 경우이 당신을 도울 것
$("#PatientBirthday").datepicker({ picker: "<button class='calpick'></button>", onReturn:function(d){ var today = new Date(); var birthDate = d; var age = today.getFullYear() - birthDate.getFullYear(); var m = today.getMonth() - birthDate.getMonth(); if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) { age--; } $('#ageshow')[0].innerHTML="Age: "+age; $("#PatientBirthday").val((d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear()); } });
onReturn 나를 위해 작동 이벤트
이 도움말을 희망
-
16.나는 당신의 날짜 선택기가 설정이 얼마나 문제가에서 거짓말을 할 수있다 생각합니다. 당신이 입력을 분리하지 않는 이유는 ... altField를 사용하지 마십시오. 대신 명시 적으로 때 값들이 onSelect를 불을 설정합니다. 이것은 당신이 각각의 상호 작용을 제어 할 것이다; 사용자가 텍스트 필드와 날짜 선택기.
나는 당신의 날짜 선택기가 설정이 얼마나 문제가에서 거짓말을 할 수있다 생각합니다. 당신이 입력을 분리하지 않는 이유는 ... altField를 사용하지 마십시오. 대신 명시 적으로 때 값들이 onSelect를 불을 설정합니다. 이것은 당신이 각각의 상호 작용을 제어 할 것이다; 사용자가 텍스트 필드와 날짜 선택기.
참고 : 때때로 당신은 onSelect를가 당신이 기대되지 않도록 다른 상호 작용을 호출 할 수 있기 때문에) .change ()하지 .onSelect (에 루틴을 호출해야합니다.
의사 코드 :
$('#date').datepicker({ //altField: , //do not use onSelect: function(date){ $('#date').val(date); //Set my textbox value //Do your search routine }, }).change(function(){ //Or do it here... }); $('#date').change(function(){ var thisDate = $(this).val(); if(isValidDate(thisDate)){ $('#date').datepicker('setDate', thisDate); //Set my datepicker value //Do your search routine }); });
from https://stackoverflow.com/questions/6471959/jquery-datepicker-onchange-event-issue by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] "가져가"어떻게 CSS를 활성화 순수 자바 스크립트에 마우스 오버를 시뮬레이션 할 수 있습니까? (0) | 2020.10.07 |
---|---|
[JQUERY] 애니메이션 scrollTop 파이어 폭스에서 작동하지 (0) | 2020.10.07 |
[JQUERY] jQuery를 객체와 DOM 소자 (0) | 2020.10.07 |
[JQUERY] innerText와에 의해 요소를 얻는 방법 (0) | 2020.10.07 |
[JQUERY] window.open에 바이 패스 팝업 차단기 JQuery와에서는 event.preventDefault ()가 집합입니다 (0) | 2020.10.07 |