반응형
코드에서 jQuery 변경 이벤트를 트리거하는 방법
정상적으로 동작하고 있는 변경 이벤트가 있습니다만, 재발시킬 필요가 있습니다.
따라서 클래스 셀렉터에 따라 다른 드롭 다운을 "변경"하는 변경 시 트리거되는 기능이 있습니다('드롭 다운S' 알림, 여러 개 있을 수 있음).이 프록시 변경은 함수를 트리거하지 않으므로 실패합니다.어떻게 하면 작동시킬 수 있을까요?
코드
$(document).ready(function () {
var activeDropBox = null;
$("select.drop-box").change(function () {
var questionId = $(this).attr("questionId");
var selectedAnswer = $(this).val();
activeDropBox = this;
alert(this.questionId);
$.ajax(
{
type: "POST",
url: answerChangedActionUrl,
data: { questionId: questionId, selectedValue: selectedAnswer },
success: function (data) {
SetElementVisibility(data.ShowElement, questionId);
}, error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('XMLHttpRequest:' + XMLHttpRequest.responseText);
alert('textStatus:' + textStatus);
alert('errorThrown:' + errorThrown);
}
});
});
function SetElementVisibility(visible, questionId) {
// I would like each child to then trigger the change event...
$(".childOf" + questionId)[visible ? 'show' : 'hide']('slow');
// Suggested code
//$(".childOf" + questionId + " select").trigger("change");
if (!visible) {
$(".childOf" + questionId + " select").attr('selectedIndex', 0);
}
}
}
지금까지의 제안은 효과가 있는 것 같습니다만, 변경 이벤트가 Ajax 투고를 트리거 하고 있기 때문에, 여기서 실패하는 것 같습니다.나는 그것을 가지고 놀 것이다. 하지만 그것은 내가 느끼는 또 다른 의문이다.
trigger() 메서드를 사용합니다.
$(selector).trigger("change");
나를 위해.
$('#element').val('...').change()
가장 좋은 방법입니다.
주의:
.change()
새로운 버전에서는 권장되지 않습니다..trigger('change')
대신.
change() 메서드의 파라미터리스 형식은change
이벤트. 이렇게 쓸 수 있어요.
$(document).ready(function() {
$("#yourInitialElementID").change(function() {
// Do something here...
$(".yourDropDownClass").change();
});
});
$(selector).change()
.trigger(변경)")
시간이 오래 걸릴수록 추상화가 더 좋습니다.
$(selector).trigger("change")
사용방법:
$(selector).trigger("change");
또는
$('#id').trigger("click");
또는
$('.class').trigger(event);
트리거는 javascript를 지원하는 모든 이벤트일 수 있습니다.여러분 모두가 쉽게 이해할 수 있기를 바랍니다.
언급URL : https://stackoverflow.com/questions/4247264/how-to-trigger-jquery-change-event-in-code
반응형
'programing' 카테고리의 다른 글
Java에서 웹 페이지를 프로그래밍 방식으로 다운로드하는 방법 (0) | 2022.12.26 |
---|---|
NuxtServerInit이 Vuex 모듈 모드에서 작동하지 않음 - Nuxt.js (0) | 2022.12.26 |
수업 방법의 목적은 무엇입니까? (0) | 2022.12.26 |
Laravel, sync() - 어레이를 동기화하고 추가 피벗 필드를 전달하려면 어떻게 해야 합니까? (0) | 2022.12.26 |
어레이에서 랜덤 값을 얻는 방법 (0) | 2022.12.26 |