我正在使用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函数也有问题。但我无法理解。
你能帮帮我吗?
谢谢
答案 0 :(得分:11)
使用单选按钮代替复选框,并为它们指定相同的名称。然后根本不要使用javascript。
答案 1 :(得分:2)
使用具有相同名称属性的单选按钮
答案 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
希望这有用。