আমার একটি পরিবর্তন ইভেন্ট রয়েছে যা ভাল কাজ করছে তবে আমার এটি পুনরুক্তার করা দরকার।
সুতরাং আমার এমন একটি ফাংশন রয়েছে যা পরিবর্তনের উপর ট্রিগার হয় যা শ্রেণি নির্বাচকের উপর ভিত্তি করে অন্যান্য ড্রপ ডাউনগুলি "পরিবর্তন" করবে (নোটিশ "ড্রপ ডাউনস", সেখানে একের বেশি থাকতে পারে)। এই প্রক্সি পরিবর্তনটি ফাংশনটিকে ট্রিগার করে না এবং তাই ব্যর্থ হয়। আমি কীভাবে এটি কাজে লাগাতে পারি?
কোড
$(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);
}
}
}
পরামর্শগুলি এখনও অবধি কার্যকর বলে মনে হচ্ছে, তবে পরিবর্তনের ইভেন্টটি এজাক্স পোস্টের সূত্রপাত করার সাথে সাথে এটি এখানে ব্যর্থ বলে মনে হচ্ছে। আমি এটির সাথে চারপাশে খেলতে যাচ্ছি তবে এটি আমার মনে হওয়া অন্য প্রশ্নের জন্য এটি।