[JQUERY] 내가 값을 설정할 때 왜 JQuery와 변경 이벤트가 트리거하지 않는 발을 사용하여 선택 ()?
JQUERY내가 값을 설정할 때 왜 JQuery와 변경 이벤트가 트리거하지 않는 발을 사용하여 선택 ()?
해결법
-
1.변경 이벤트는 사용자가 대신 자바 스크립트 코드를 통해 시작 실제 브라우저 이벤트가 필요하기 때문에.
변경 이벤트는 사용자가 대신 자바 스크립트 코드를 통해 시작 실제 브라우저 이벤트가 필요하기 때문에.
대신이 작업을 수행합니다 :
$("#single").val("Single2").trigger('change');
또는
$("#single").val("Single2").change();
-
2.난 당신이 수동으로 트리거 ()로 변경 이벤트를 트리거 할 수 있다고 생각합니다 :
난 당신이 수동으로 트리거 ()로 변경 이벤트를 트리거 할 수 있다고 생각합니다 :
$("#single").val("Single2").trigger('change');
자동으로 실행되지 않는 이유지만, 난 아무 생각이 없습니다.
-
3.발 () 이후에이 코드 조각을 추가하면 작동하는 것 같다 :
발 () 이후에이 코드 조각을 추가하면 작동하는 것 같다 :
$(":input#single").trigger('change');
-
4.지금까지 내가 API의에서 읽을 수있다. 사용자가 옵션을 클릭 할 때 이벤트는 발생합니다.
지금까지 내가 API의에서 읽을 수있다. 사용자가 옵션을 클릭 할 때 이벤트는 발생합니다.
http://api.jquery.com/change/
-
5.당신이 원하는 경우에 지금까지보다 쉽게 사용자 정의 기능을 추가하고 전화를 만들려면 그 값을 변경 또한 트리거 변경
당신이 원하는 경우에 지금까지보다 쉽게 사용자 정의 기능을 추가하고 전화를 만들려면 그 값을 변경 또한 트리거 변경
$.fn.valAndTrigger = function (element) { return $(this).val(element).trigger('change'); }
과
$("#sample").valAndTirgger("NewValue");
발 호출 할 때 또는 당신은 항상 변화를 호출하기 위해 발 기능을 대체 할 수 있습니다
(function ($) { var originalVal = $.fn.val; $.fn.val = function (value) { this.trigger("change"); return originalVal.call(this, value); }; })(jQuery);
http://jsfiddle.net/r60bfkub/에서 샘플
-
6.경우에 당신은 당신이 당신의 사용자 정의 이벤트를 제공 할 수있는 기본 변경 이벤트와 섞어 싶지 않아
경우에 당신은 당신이 당신의 사용자 정의 이벤트를 제공 할 수있는 기본 변경 이벤트와 섞어 싶지 않아
$('input.test').on('value_changed', function(e){ console.log('value changed to '+$(this).val()); });
값 세트에서 이벤트를 트리거하기 위해, 당신은 할 수있다
$('input.test').val('I am a new value').trigger('value_changed');
-
7.나는 워드 프레스와 너 (CMB2)를 사용하는 동안 같은 문제로 실행하고 파일 업로드 METABOX의 변경 이벤트에 후크 싶었다.
나는 워드 프레스와 너 (CMB2)를 사용하는 동안 같은 문제로 실행하고 파일 업로드 METABOX의 변경 이벤트에 후크 싶었다.
그래서 경우에 당신은, (이 경우에는 너 (CMB2) 스크립트를) 변경을 호출하는 코드를 수정하여 아래의 코드를 사용할 수 아니에요. 값이 설정 한 후 트리거 그렇지 않으면 변경 이벤트 핸들러가 작동, 호출되고, 값은 이전이 아닌 하나되는 설정됩니다.
여기에 코드를 내가 사용이다 :
(function ($) { var originalVal = $.fn.val; $.fn.val = function (value) { if (arguments.length >= 1) { // setter invoked, do processing return originalVal.call(this, value).trigger('change'); } //getter invoked do processing return originalVal.call(this); }; })(jQuery);
-
8.당신은 단지 형태로 선택 옵션을 추가 한 당신은 변경 이벤트를 트리거하려면, I는의 setTimeout 달리 jQuery를 새로 추가 선택 상자를 선택하지 않습니다 필요합니다 발견했습니다 :
당신은 단지 형태로 선택 옵션을 추가 한 당신은 변경 이벤트를 트리거하려면, I는의 setTimeout 달리 jQuery를 새로 추가 선택 상자를 선택하지 않습니다 필요합니다 발견했습니다 :
window.setTimeout(function() { jQuery('.languagedisplay').change();}, 1);
-
9.
$(":input#single").trigger('change');
이건 내 스크립트했다. 나는 3 콤보를 & 바인드 chainSelect 이벤트와, 나는 모든 드롭 다운을 선택 URL로 3 개 값을 전달 및 기본 할 필요가있다. 나는 이것을 사용
$('#machineMake').val('<?php echo $_GET['headMake']; ?>').trigger('change');
그리고 첫 번째 이벤트는했다.
from https://stackoverflow.com/questions/4672505/why-does-the-jquery-change-event-not-trigger-when-i-set-the-value-of-a-select-us by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery를 XML 오류 '없음'액세스 제어 - - 원산지를 허용 '헤더가 요청 된 자원에 존재합니다.' (0) | 2020.10.02 |
---|---|
[JQUERY] jQuery를이 : jQuery를에 숨겨진 요소의 높이를 가져옵니다 (0) | 2020.10.02 |
[JQUERY] 자바 스크립트 (jQuery를 또는 바닐라)와 / 선택을 취소 확인란을 선택? (0) | 2020.10.02 |
[JQUERY] 어떻게 jQuery를 AJAX 요청 중지 / 취소하려면? (0) | 2020.10.02 |
[JQUERY] 어떻게 구글 크롬에서 그리스 몽키 스크립트에서 jQuery를 사용할 수 있습니까? (0) | 2020.10.02 |