在this site,有一个'霍乱设施'复选框,用于触发地图图层的显示。
问题是复选框的行为方式。它与我的期望相反 - 它是在未选中时触发,而不是已检查?
<div><input type="checkbox" id="cholera_control" name="cholera_control" />
<label for="cholera_control">Cholera Facilities</label></div>
答案 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()
开始运行时,showCholera
为true
,执行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">