私は以前のドロップダウン値に応じてドロップダウンが表示されるフォームのジェネリックバージョンを作成しようとしていますが、いくつかのドロップダウンは2つ以上の以前の回答に依存しています。jQuery - 同じオブジェクトに依存する2つのオブジェクトを分離する方法は?
同じ質問に同じ回答で依存している質問があるので、JSONを繰り返してみると、両方とも表示されます。一方、2番目の質問は、すべての従属回答が満たされたときにのみ表示されると仮定します。私はそれらを分ける方法が必要です。現在、Id 8と9の質問には同じ従属回答がありますが、質問9にはもう1つの依存関係があります。
JSONは次のようになります。私は、質問8と9で満たされた2つのオブジェクトの配列を取得しますが、9ニーズに疑問を上記のコードでは
function onQuestionSelectChange() {
$("#questionsContainer div select").change(function() {
var selectedValue = $(this).val();
var selectedQuestion = $(this).parent().attr('id').split('-');
var selectedQuestionId = selectedQuestion[1];
var potentialQuestions = [];
//var filteredQuestions = [];
$.each(questions, function(index, element) {
$.each(element.DependantAnswers, function (indexDepAnswer, elemDepAnswer){
if(elemDepAnswer.answer == selectedValue)
potentialQuestions.push(element);
});
});
//here I need to separate question 8 from 9 and show only question 8
});
}
:
var questions = [
//questions before these
{
Id: 6,
ProductGroups: [{
ProductGroupId: 1,
show: false
},
{
ProductGroupId: 2,
show: true
}
],
//dependant answer(s)
DependantAnswers: [{
QuestionId: 1,
answer: ""
}]
},
{
Id: 7, //guid
ProductGroups: [{
ProductGroupId: 1,
show: false
},
{
ProductGroupId: 2,
show: false
}
],
//dependant answer(s)
DependantAnswers: [{
QuestionId: 6,
answer: "male"
}]
},
{
Id: 8, //guid
ProductGroups: [{
ProductGroupId: 1,
show: false
},
{
ProductGroupId: 2,
show: false
}
],
//dependant answer(s)
DependantAnswers: [{
QuestionId: 6,
answer: "female"
}
]
},
{
Id: 9, //guid
ProductGroups: [{
ProductGroupId: 1,
show: false
},
{
ProductGroupId: 2,
show: false
}
],
//dependant answer(s)
DependantAnswers: [{
QuestionId: 6,
answer: "female"
},
{
QuestionId: 8,
answer: "yes"
}
]
}
];
そして、これは、jQueryの関数であります質問8が値「はい」で応答された場合にのみ表示されます。私が試したことが何であれ、質問9は質問8と同じように進みます。なぜなら、それは同じ従属回答を持っているからです。質問9をフィルタリングして質問8で「はい」を選択した後でのみ表示するにはどうすればよいですか?