将Google地图中的地点详细信息插入表格 - 添加新行

时间:2011-11-24 18:20:50

标签: jquery google-maps

我在向表中添加新行时遇到问题。 我使用谷歌地图,我想在表格中添加关于点插入地图的一些信息(来自谷歌数据库,地址和名称)。 (用户点击点和下一个气球显示按钮“添加信息”,我想在点击按钮后将该信息显示在表格中。

<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>';

         }
       });

一切正常,但谷歌地图没有。

1 个答案:

答案 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;
});