根据所选的复选框集更改变量

时间:2016-03-13 11:43:11

标签: javascript checkbox

我有一组复选框,根据所选框的组合,它们具有不同的值,但我编写的代码不起作用,我想的可能是我和&&的位置。标志位置不正确,但我不知道我可以在哪里运行代码。

这是html代码:

<form role="form" id="checkbox" name="checkbox" onclick="changevalue()">
    <input type="checkbox" id="f1">Full Front
    <input type="checkbox" id="b1">Full Back
    <input type="checkbox" id="f2">Pocket
</form>

<input type="number" id="checkboxResult">

以下是剧本:

 <script type="text/javascript">
    function changevalue(form){
        var chkboxvalue = 0;
            if (document.getElementById('f1').checked) &&
            if (document.getElementById('b1').checked) {
                chkboxvalue = 2.2;
            };

            if (document.getElementById('f2').checked) &&
            if (document.getElementById('b1').checked) {
                chkboxvalue = 1.7;
            };

        document.getElementById('checkboxResult').value = chkboxvalue;
    }
</script>

1 个答案:

答案 0 :(得分:0)

使用&amp;&amp;不需要额外的if

function changevalue(form){
    var chkboxvalue = 0;
        if ((document.getElementById('f1').checked) &&
           (document.getElementById('b1').checked)) {
            chkboxvalue = 2.2;
        };

        if ((document.getElementById('f2').checked) &&
           (document.getElementById('b1').checked)) {
            chkboxvalue = 1.7;
        };

    document.getElementById('checkboxResult').value = chkboxvalue;
}

或者更一般地说: 做这个: if (a && b){...} 而不是这个: if (a) && if (b){...}