1

我正在用 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 函数也有问题。但我无法弄清楚。

你可以帮帮我吗 ?

谢谢

4

3 回答 3

11

使用单选按钮而不是复选框,并为它们提供相同的名称。然后根本不使用javascript。

于 2012-05-04T13:17:44.667 回答
2

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

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

于 2012-05-04T13:20:41.383 回答
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

希望这会有所帮助。

于 2012-05-04T13:22:18.917 回答