我在向表中添加新行时遇到问题。 我使用谷歌地图,我想在表格中添加关于点插入地图的一些信息(来自谷歌数据库,地址和名称)。 (用户点击点和下一个气球显示按钮“添加信息”,我想在点击按钮后将该信息显示在表格中。
<table style="width: 100%" id="myTable">
<tr><td>Row 1</td></tr>
<tr><td>Row 2</td></tr>
<tr><td>Row 3</td></tr>
</table>
<a href="#" name="addRow">Add Row</a>
功能“addRow”:
$("a[name=addRow]").click(function() {
$("table#myTable tr:last").after('<tr><td>HERE INFORMATION POINT</td></tr>');
return false;
});
显示气球为点的功能:
google.maps.event.addListener(marker, 'click', function() {
geocoder = new google.maps.Geocoder();
geocoder.geocode({'latLng': placeLoc}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
addressLoc = results[0].formatted_address;
contentString = '<h3>place.name+'</h3>'+addressLoc+'<br/><br/><a href="#" name="addRow">Add Information</a>';
}
});
一切正常,但谷歌地图没有。
答案 0 :(得分:1)
您需要使用.live()
方法,因为您动态添加了“添加信息”元素。您的a
元素<a href="#" name="addRow">
在添加时不会发生点击事件,因为.click()
在调用时仅绑定事件一次,所有未来的元素都不会有事件。
live()的说明:为现在和将来与当前选择器匹配的所有元素附加事件处理程序。
$("a[name=addRow]").live('click', function() {
$("table#myTable tr:last").after('<tr><td>HERE INFORMATION POINT</td></tr>');
return false;
});