如何使用onclick与表行和谷歌地图

时间:2013-08-17 13:31:20

标签: javascript jquery google-maps google-maps-api-3

我有一个谷歌地图的标准实现,以及旁边的表格中的结果列表。

每次单击表格中的一行时,我想打开一个信息窗口。什么是正确的实施?这是我的开始:

JS

$('table').on('click', 'tr', function () {
infowindow.open(map,marker);
});

1 个答案:

答案 0 :(得分:1)

当需要填充(或生成)表格以及其中的元素(例如,tbody,tr,th / td等)时,我强烈建议以DOM方式构建它们。

假设返回的结果是一个简单的1D数组,在jQuery AJAX调用的第3个参数(success,它是回调函数)中:

$.get(
    url,
    data,
    function (data) {
        if (data) {
            var table = document.createElement("table");
            for (var i in data) {
                var tr = document.createElement("tr"),
                th = document.createElement("th"),
                td = document.createElement("td");
                th.innerHTML = i;
                td.innerHTML = data[i].key;
                tr.appendChild(th);
                tr.appendChild(td);
                table.appendChild(tr);
                document.getElementsByTagName("body").item(0).appendChild(table);
                /**
                 * here comes what you asked for
                 */
                $(tr).click(function () {
                    // do whatever you gotta do w/ it
                });
            }
        }
    },
    "json"
);

注意:使用简写方法显示的示例!