2012-10-16 61 views
0

我有代碼可以根據特定條件在Google地圖上生成標記。我試圖做的是在地圖旁邊生成一個列表,其中包含與每個出現在列表中的標記相關聯的地址以及每個地址旁邊的複選框。在這個列表的底部將是一個「精煉」按鈕,它將僅返回其複選框被選中的結果。使用javascript管理動態生成的元素

我的問題是:

  1. 如何將存儲動態生成的複選框和它們各自的地址字段,這樣我可以更新和修改與精選按鈕選擇?

  2. 我該如何(或者我應該)真正設置每個複選框在onClick上運行一個函數,這會從地圖上移除標記?

回答

1

上飛給定格

var holder = document.getElementById('holdingDiv'); 
var newCheckbox = document.createElement('input'); 
newCheckbox.type = 'checkbox'; 
newCheckbox.id = 'holdingDiv_option' + someValueIdentifier; 
holder.appendChild(newCheckbox); 

內創建複選框,通過這些複選框添加事件處理程序運行:

// modify this if not just a bunch of checkboxes in a div: 
var checkboxes = holder.getElementsByTagName('input'); 
for(var i=0; i < checkboxes.length; ++i) { 
    var thisCheckBoxId = checkboxes[i].id; 
    // create a listener 
    var callback = function(event) { 
     myGeneralHandler(i, event); 
    } 
    if(checkboxes[i].addEventListener) { 
     checkboxes[i].addEventListener('click', callback, false); 
    } else { //IE 
     checkboxes[i].attachEvent('click', callback); 
    } 
} 

然後設置myGeneralHandler處理來自任何複選框點擊。

+0

我做了類似的事情,除了我把複選框添加到span標籤。我有一個問題,我想讓他們在頁面上的複選框。如果我將它們附加到持有地圖和其餘元素的div元素,這會更簡單嗎? – Mike

+0

試着把複選框span/div和地圖等放到一個容器div中,至少應該把它們放在一起,然後你可以使用相對定位來微調它。 –

相關問題