复选框切换行为与预期相反?

时间:2011-01-09 02:41:39

标签: javascript checkbox

this site,有一个'霍乱设施'复选框,用于触发地图图层的显示。

问题是复选框的行为方式。它与我的期望相反 - 它是在未选中时触发,而不是已检查

<div><input  type="checkbox" id="cholera_control" name="cholera_control" />
<label for="cholera_control">Cholera Facilities</label></div>

2 个答案:

答案 0 :(得分:1)

只需使用if反转else

而不是:

if (showCholera) {
    kmlLayerCTF.setMap(null);
} else {
    kmlLayerCTF.setMap(map);
}

做的:

if (showCholera) {
    kmlLayerCTF.setMap(map);
} else {
    kmlLayerCTF.setMap(null);
}

这是因为您的初始值为false

var showCholera = false;

...然后你在 if()声明之前将其反转

showCholera = !showCholera;

...所以当if()开始运行时,showCholeratrue,执行if而不是else

答案 1 :(得分:0)

更改

<input type="checkbox" id="cholera_control" name="cholera_control" />
<input type="checkbox" name="mc-cb" id="mc-cb">

为:

<input type="checkbox" check="checked" id="cholera_control" name="cholera_control" />
<input checked="checked" type="checkbox" name="mc-cb" id="mc-cb">