如何在代码中触发jQuery change事件

我有一个运行正常的更改事件,但需要递归进行。

因此,我有一个在更改时触发的函数,该函数将基于类选择器“更改”其他下拉菜单(注意“ drop

downS”,可能有多个)。此代理更改不会触发功能,因此会失败。我如何使它工作?

$(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);

}

}

}

到目前为止,这些建议似乎可行,但是由于change事件触发了ajax发布,因此现在似乎在此处失败。我将尝试使用它,但这是我感到另一个问题的东西。

回答:

使用trigger()方法

$(selector).trigger("change");

以上是 如何在代码中触发jQuery change事件 的全部内容, 来源链接: utcz.com/qa/418102.html

回到顶部