可能的解决方案,但无法使其正常工作:
$(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 或 1 的任何响应,则需要出现第一个。如果用户选择任何响应,则textarea
需要出现第二textarea
个值为 4 或 3 但尚未选择值为 2 或 1 的响应。
最后,一旦用户回答了最后一个问题,即问题 10,我需要运行 jQuery——此时我需要触发代码。
过去,我为每个响应手动创建了 Javascript 代码并进行了检查,但我想知道是否有使用 jQuery 的更简洁、更简洁的方式?