ฉันมีเหตุการณ์การเปลี่ยนแปลงที่ทำงานได้ดี แต่ฉันต้องการรับเงินคืน
ดังนั้นฉันจึงมีฟังก์ชั่นที่ถูกเรียกใช้ในการเปลี่ยนแปลงที่จะ "เปลี่ยน" รายการแบบเลื่อนลงอื่น ๆ ตามตัวเลือกคลาส (สังเกตเห็น "แบบเลื่อนลง" ซึ่งอาจมีมากกว่าหนึ่ง) การเปลี่ยนพร็อกซีนี้ไม่เรียกใช้ฟังก์ชันและล้มเหลว ฉันจะทำให้มันทำงานได้ยังไง?
รหัส
$(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 โพสต์ตอนนี้ดูเหมือนว่าจะล้มเหลวที่นี่ ฉันจะเล่นกับมัน แต่นั่นเป็นคำถามอื่นที่ฉันรู้สึก