可能な解決策ですが、機能させることができません:
$(function(){
$('input[name="q10"]').click(function(){
if ($(this).is(':checked'))
{
var flag=0;
$("input[type='radio']:checked").each(function() {
if($(this).val()==1 || $(this).val()==2 ){
$("#disagree").show();
flag++;
}
else if(($(this).val()==3 || $(this).val()==4) && flag==0)
$("#agree").show();
});
}
});
});
次のように、10の質問があるページがあります-各質問の応答スケールがあります。
<div id="rq1" class="row" onmouseover="changeBackgroundColor(this.id)" onmouseout="changeBackgroundColor2(this.id)">
<div class="col1">1.</div>
<div class="col2a">Question text</div>
<div class='colans'>
<input name='q1' value='4' id='q1a4' type='radio' onclick='mand();' />
</div>
<div class='colans'>
<input name='q1' value='3' id='q1a3' type='radio' onclick='mand();' />
</div>
<div class='colans'>
<input name='q1' value='2' id='q1a2' type='radio' onclick='mand();' />
</div>
<div class='colans'>
<input name='q1' value='1' id='q1a1' type='radio' onclick='mand();' />
</div>
<div class='colans'>
<input name='q1' value='-1' id='q1a-1' type='radio' onclick='mand();' />
</div>
</div>
上記は、q1 から q10 までの 10 の質問のそれぞれについて繰り返されます。
10 個の質問の最後に、textareas
ユーザーがコメントを書き込める場所が 2 つあります。ただし、最初の質問は、ユーザーが値 2 または 1 のいずれかの応答を選択textarea
した場合に表示される必要があります。2 番目の質問は、ユーザーが任意の応答を選択した場合に表示される必要があります。値は 4 または 3 ですが、値が 2 または 1 の応答は選択されていません。textarea
最後に、ユーザーが最後の質問である質問 10 に回答したら、jQuery を実行する必要があります。この時点で、実行するコードが必要です。
以前は、レスポンスごとに Javascript コードを手動で作成して確認していましたが、jQuery を使用してもっとすっきりとした簡潔な方法があるのではないかと思いました。