J'ai un événement de changement qui fonctionne bien mais j'ai besoin de le répéter.
Donc, j'ai une fonction qui est déclenché sur le changement qui va "changer" d'autres menus déroulants basé sur un sélecteur de classe (avis de "menus déroulants", il pourrait y avoir plus d'un). Ce changement par procuration ne pas déclencher la fonction et donc échoue. Comment puis-je le faire fonctionner?
Un grand merci à tous vous mesdames et messieurs.
Code
$(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);
}
}
}
Les suggestions semblent fonctionner, mais comme l'événement de changement de déclencheurs de l'ajax post il semble maintenant ne ici. Je vais jouer avec elle, mais c'est quelque chose pour une autre question que je ressens.