質問のリストがあります。一度に 1 つの質問が表示され、残りは非表示になります。次の質問を押すたびに表示されます。途中で押し返したり、答えを変更したりすることもできます。
これまでの質問に「いいえ」と答えたものがあるかどうかを調べようとしています。それ以外の場合は、他のものを表示します。
マークアップ:
<div id="audit">
<p>
<label class="check-label">Question 1</label>
<br />
<input type="radio" value="Yes" id="CAT_Custom_235312_0" name="CAT_Custom_235312" class="required" />Yes
<br />
<input type="radio" value="No" id="CAT_Custom_235312_1" name="CAT_Custom_235312" class="required" />No</p>
<p>
<label class="check-label">Question 2</label>
<br />
<input type="radio" value="Yes" id="CAT_Custom_235313_0" name="CAT_Custom_235313" class="required" />Yes
<br />
<input type="radio" value="No" id="CAT_Custom_235313_1" name="CAT_Custom_235313" class="required" />No</p>
<p>
<label class="check-label">Question 3</label>
<br />
<input type="radio" value="Yes" id="CAT_Custom_235314_0" name="CAT_Custom_235314" class="required" />Yes
<br />
<input type="radio" value="No" id="CAT_Custom_235314_1" name="CAT_Custom_235314" class="required" />No</p>
</div>
<div class="granted" style="display: none;">Yes</div>
<div class="denied" style="display: none;">No</div>
そして、JS
$('input[type="radio"]').click(function () {
if ($('input[type=radio]:checked').val() == 'No') {
$('.denied').show();
$('.granted').hide();
} else {
$('.granted').show();
$('.denied').hide();
}
});
ここに私がこれまでに持っているもののjsFiddleがあります:http://jsfiddle.net/5ZKyH/1/ (ラジオのみ)
最初のアイテムでは機能しますが、それ以降は機能しません。最初の回答は何度でも変更でき、入れ替えることもできますが、質問 2 に移ると何も起こりません。
最後に、質問のいずれかが「いいえ」と答えたかどうかを正確に伝える必要があります
毎回すべての入力をチェックする方法を理解できないようです。