我有一个问题清单,一个人可以回答是或否。最后,我想显示问题,是否回答是或否,以及关于结果的段落。我无法让我的if / else语句起作用。
HTML:
<ol>
<li id='q1'>
<span>Are any of your valuables visible from the street?</span>
<input type="checkbox" class="calc" name="street" value="-1" /> yes
<input type="checkbox" class="calc" name="street" value="1" /> no
<input type="checkbox" name="street" value="0" /> n/a
</li>
</ol>
<div class='darkBtn' id='results'>Get Results ></div>
JS:
$('#results').click(function(){
var q1 = $('li#q1 input:checkbox:checked.calc').val();
if (q1 == 1) {
console.log("You answered No");
} else {
console.log("You answered Yes");
}
});
我已经尝试了我能想到的每一个变化,但是控制台总是打印出“你回答是”。
答案 0 :(得分:0)
首先,您的复选框不应具有相同的name
属性。
然后你应该使用以下方法获取所选问题:
$('li#q1 input[type="checkbox"].calc:checked')
此外,您似乎想要收音机而不是复选框,在这种情况下,您可以使用相同的name
更新:fiddle
答案 1 :(得分:0)
看起来你的意思是使用单选按钮而不是复选框。我使用单选按钮拼凑了你的例子。
$(function(){
$("#results").click(function(){
var val = $('input[name=street]:checked').val();
if(val == 1) {
console.log('no');
} else {
console.log('yes');
}
});
});