我有一个谷歌地图的标准实现,以及旁边的表格中的结果列表。
每次单击表格中的一行时,我想打开一个信息窗口。什么是正确的实施?这是我的开始:
JS
$('table').on('click', 'tr', function () {
infowindow.open(map,marker);
});
答案 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"
);
注意:使用简写方法显示的示例!