正常に動作している変更イベントがありますが、再帰させる必要があります。
したがって、クラスセレクターに基づいて他のドロップダウンを「変更」する変更時にトリガーされる関数があります(「drop downS」に注意してください。複数ある場合があります)。このプロキシ変更は機能をトリガーしないため、失敗します。どうすればそれを機能させることができますか?
コード
$(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投稿をトリガーするため、ここでは失敗するようです。私はそれをいじってみるつもりですが、それは私が感じる別の質問に対するものです。
1
確認できるようにコードを提供してください
—
Alex Rashkov '22
それが何であるかを私たちに示していないときに、それを機能させる方法をどのように伝えることができますか?
—
user113716 2010年
それは単純な概念だと思い、コードが必要だとは感じませんでした。これまでの答えは私の説明を理解したようであり、私は現在それらの解決策を試みています。喜びがない場合は、コードを投稿します。私の実装は実際にははるかに複雑です。
—
4imble、2010年
ソートすると、ajaxポストの後で値を変更するときに問題が発生しました。助けてくれてありがとう。投稿された提案は魅力のように機能しました。
—
4imble、2010年