Tôi có một sự kiện thay đổi đang hoạt động tốt nhưng tôi cần phải làm cho nó tái diễn.
Vì vậy, tôi có một chức năng được kích hoạt khi thay đổi sẽ "thay đổi" các lần thả xuống khác dựa trên bộ chọn lớp (thông báo "thả xuống", có thể có nhiều hơn một). Thay đổi proxy này không kích hoạt chức năng và do đó không thành công. Làm thế nào tôi có thể làm cho nó hoạt động?
Mã
$(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);
}
}
}
Các đề xuất cho đến nay dường như có hiệu quả, nhưng khi sự kiện thay đổi kích hoạt một bài đăng ajax, bây giờ dường như thất bại ở đây. Tôi sẽ chơi xung quanh nó nhưng đó là một câu hỏi cho một câu hỏi khác mà tôi cảm thấy.