jQuery if / else基于输入值

时间:2014-10-19 03:34:13

标签: javascript jquery

我有一个问题清单,一个人可以回答是或否。最后,我想显示问题,是否回答是或否,以及关于结果的段落。我无法让我的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");
    }
});

我已经尝试了我能想到的每一个变化,但是控制台总是打印出“你回答是”。

2 个答案:

答案 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');
        }
    });
});

fiddle