Tengo un evento de cambio que funciona bien pero necesito que vuelva a aparecer.
Por lo tanto, tengo una función que se activa en el cambio que "cambiará" otros menús desplegables en función de un selector de clase (observe "menús desplegables S", podría haber más de uno). Este cambio de proxy no activa la función y falla. ¿Cómo puedo hacer que funcione?
Código
$(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);
}
}
}
Las sugerencias hasta ahora parecen funcionar, pero a medida que el evento de cambio desencadena una publicación ajax, ahora parece fallar aquí. Voy a jugar con eso, pero eso es algo para otra pregunta que siento.