我在谷歌地图上放置标记。我有许多复选框(目前有 19 个),我试图创建一个动态的“和”条件来显示或不显示标记。选择单个复选框时,该代码非常适合各个部分。如果选择了多个复选框,我希望代码考虑在内,并且只显示满足所有条件的标记,而不仅仅是添加满足下一个条件的标记。
吉文斯:
- 复选框 ID 为“q”+#
- 每个 Google 标记对于每个 q#(checkbox) 都有 true 或 false 值,代码如下: createMarker(point,html,q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12 ,q13,q14,q15,q16,q17,q18,q19)
- 有很多标记点
需要:
如果选中复选框 1 和 2,则仅显示那些在 createMarker 变量中具有 q1 = true “和” q2 = true 的标记。但是,还允许检查单个复选框并显示正确的标记我需要这个条件来选择复选框的所有可能性(1 到 19)。
我怎样才能使这项工作?
单一条件的当前代码:
//loop through the checkbox questions
for (var h=1; h<20; h++) {
//check to see if the checkbox is checked
if (document.getElementById('q'+h).checked == true) {
for (var i=0; i<gmarkers.length; i++) {
//check to see if the Marker has that variable set to true for the question it is loop through
if (h == 1 && gmarkers[i].q1 == 1) {
\\ show marker
gmarkers[i].show();
}
if (h == 2 && gmarkers[i].q2 == 1) {
// turned off for testing
//gmarkers[i].show();
}
if (h == 3 && gmarkers[i].q3 == 1) {
//gmarkers[i].show();
}
if (h == 4 && gmarkers[i].q4 == 1) {
//gmarkers[i].show();
}
if (h == 5 && gmarkers[i].q5 == 1) {
//gmarkers[i].show();
}
if (h == 6 && gmarkers[i].q6 == 1) {
//gmarkers[i].show();
}
if (h == 7 && gmarkers[i].q7 == 1) {
//gmarkers[i].show();
}
if (h == 8 && gmarkers[i].q8 == 1) {
//gmarkers[i].show();
}
if (h == 9 && gmarkers[i].q9 == 1) {
//gmarkers[i].show();
}
if (h == 10 && gmarkers[i].q10 == 1) {
//gmarkers[i].show();
}
if (h == 11 && gmarkers[i].q11 == 1) {
//gmarkers[i].show();
}
if (h == 12 && gmarkers[i].q12 == 1) {
//gmarkers[i].show();
}
if (h == 13 && gmarkers[i].q13 == 1) {
gmarkers[i].show();
}
if (h == 14 && gmarkers[i].q14 == 1) {
//gmarkers[i].show();
}
if (h == 15 && gmarkers[i].q15 == 1) {
//gmarkers[i].show();
}
if (h == 16 && gmarkers[i].q16 == 1) {
//gmarkers[i].show();
}
if (h == 17 && gmarkers[i].q17 == 1) {
//gmarkers[i].show();
}
if (h == 18 && gmarkers[i].q18 == 1) {
//gmarkers[i].show();
}
if (h == 19 && gmarkers[i].q19 == 1) {
//gmarkers[i].show();
}
}
}