0

我有一个小的谷歌地图应用程序,它使用信息窗口绘制标记。我希望能够编辑窗口中的信息并提交是否。我可以做到这一点——但只有一次。我在这里查看了向 Google Maps API InfoWindow 中的元素添加事件,这有所帮助,但是使用我的代码,提交事件似乎没有触发。

这是我的代码:

// get the data       
    $.getJSON( 'csvToJson.php', function(data) { 
      // Loop through it
      $.each( data, function(i, m) {        
        // Add the marker
        var title = m.Namn + ': ' + m.Meddelande;
        $('#map_canvas').gmap('addMarker', { 
          'position': new google.maps.LatLng(m.Lat, m.Lng), 
          'bounds':false, 
          'title': title } 
          ).click(function() {
            // Initialise the info window
            var divName = "detail" + m.id; // come back to this?
            var infoWindowContent = [
              "<form id='detail_form' action='bib.php' method='post'>",
              "Namn: <br><input type='text' name='Namn' value='" + m.Namn + "'></input>",
              "<br>Meddelande: <br>"  + m.Meddelande,
              "<br><input type='submit' value='Spara ändringar'></input></form>"
             ].join("");

            var info = new google.maps.InfoWindow({
              content: infoWindowContent
            });                    

            google.maps.event.addListener(info, 'domready', function() {
              $(document).off("submit");
              $(document).on("submit", (function() {
                console.log("Hi");
              })); // end addEvent
            }); // end addListener 
            $('#map_canvas').gmap('openInfoWindow', info, this);                 
        }); // end addMarker click(function)     
      }); // end $.each
    }); // end $.getJSON

所有帮助表示赞赏。

小型的

4

1 回答 1

0
  1. 没有 jQuery-method addEvent,请on改用
  2. 在添加 domready-handler 之前打开 infoWindow,因此当您应用侦听器时,domready-event 可能已经被触发。移动线:

    $('#map_canvas').gmap('openInfoWindow', info, this);

...到点击监听器的末尾

于 2013-02-11T13:28:02.773 回答