将data-id传递给bootstrap模式并使用iframe url

时间:2016-03-17 04:56:10

标签: javascript jquery html iframe bootstrap-modal

我正在尝试在bootstrap Modal中显示地图。我有包含位置链接的记录列表。在点击位置,它将在模态窗口中显示地图位置。我成功地将值传递给模态窗口。但无法在iframe src链接中使用。下面是我的代码。

<a href="#myMapModal" class="btn fblack" data-toggle="modal" data-id="<?=$row['lat']?>,<?=$row['lng']?>">Location on Map</a>

和我的jquery

<script>
$('#myMapModal').on('show.bs.modal', function (e) {
    var location = $(e.relatedTarget).attr('data-id');
    $(this).find('#latlng').text(location);
});
</script>

我正在尝试将返回值放在网址

<iframe width="570" height="300" frameborder="0" style="border:0;" src="https://www.google.com/maps/embed/v1/place?q=#latlng&amp;key=xxxxxxxxxxx"></iframe>

我给了q=#latlng

我可以使用<div id="latlng"></div>

进行打印

但我无法在网址中使用。

2 个答案:

答案 0 :(得分:0)

使用此脚本,详细了解google api

  <script>
    $(function(){
    $('#myMapModal').$('.bs-example-modal-lg').on('show.bs.modal', function (e) {
    var location = $(e.relatedTarget).attr('data-id');
       var newUrl = 'https://www.google.com/maps/embed/v1/view?key=1234&center='+location;
        console.log(newUrl);
      $(this).find('iframe').attr('src',newUrl);
     });
    });
    </script>

答案 1 :(得分:0)

我做了什么让它发挥作用。

<script>
$('#myMapModal').on('show.bs.modal', function (e) {
    var location = $(e.relatedTarget).attr('data-id');
        $.ajax({
            type : 'post',
            url : 'map-list.php', //Here you will fetch records 
            data :  'rowid='+ location, //Pass $id
            success : function(data){
            $('#fetched-data').html(data);//Show fetched data from database
            }
        });
});
</script>

on map-list.php

 <?php
    //Include database connection
    if($_POST['rowid']) {
        $eveid = $_POST['rowid']; //escape string

        ?>

        <iframe width="570" height="300" frameborder="0" style="border:0;" src="https://www.google.com/maps/embed/v1/place?q=<?=$eveid?>&amp;key=AIzaSyCoqMKgHRLWPQAwjGq0dzRhSg6e4UlrgE4"></iframe> 
    <?      
 }
?>
模态正文中的

<div id="fetched-data"></div>