只能选中一个复选框

时间:2012-05-04 13:15:28

标签: javascript jquery html jquery-mobile

我正在使用jquery mobile构建移动webapp。现在我想做两件事。有一点是只能检查一个复选框。另一件事是,当有另一个复选框时,我不想修改我的JavaScript。

我的HTML

<input type="checkbox" name="checkbox-zaal1" id="checkbox-1" onClick="CountChecks('checkbox-1')"/>
                    <label for="checkbox-1">Zaal 1</label>

                    <input type="checkbox" name="checkbox-zaal2" id="checkbox-2" onClick="CountChecks('checkbox-2')"/>
                      <label for="checkbox-2">Zaal 2</label>

                    <input type="checkbox" name="checkbox-zaal3" id="checkbox-3" onClick="CountChecks('checkbox-3')"/>
                    <label for="checkbox-3">Zaal 3</label>

我的javascript

function CountChecks(which) {
        var maxchecked = 1;
        var count = 0;
        for (i=0;i<=3;i++){
            if(eval('document.getElementById("checkbox-"+ i).checked == true')) { count++; }
        }
        if(count > maxchecked) {
            eval('document.getElementById("' + which + '").checked = false');
            alert('Sorry je kan enkel maar 1 meeting room reserveren');
        }
    }

所以你可以在我的javascript中看到。我想在页面上的金额关闭复选框中更改for循环中的3。我的第一个eval函数也有问题。但我无法理解。

你能帮帮我吗?

谢谢

3 个答案:

答案 0 :(得分:11)

使用单选按钮代替复选框,并为它们指定相同的名称。然后根本不要使用javascript。

答案 1 :(得分:2)

使用具有相同名称属性的单选按钮

http://www.w3schools.com/jsref/dom_obj_radio.asp

答案 2 :(得分:1)

你正在使用错误的东西,使用单选按钮,这是你如何在一个组中使用它们:

<input type="radio" name="group1" value="Zaal1"> Zaal 1<br>
<input type="radio" name="group1" value="Zaal2"> Zaal 2<br>
<input type="radio" name="group1" value="Zaal3"> Zaal 3

希望这有用。