从数据库加载后显示带有数据的fancybox

时间:2017-05-09 14:52:46

标签: javascript angularjs fancybox infowindow

我在infoWindowmarker Gmap显示fancybox时遇到一些困难,有很多问题,例如我无法解决使用ng-click,因此我使用onClick 当我加载我的函数时,我得到了我需要的数据,但fancybox为空。也许是因为执行查询和显示它之间的延迟。 所以我有一个空数组,在我执行onClick的函数后,它被正确填充但没有显示在fancybox

JS功能

getSelectedComments=function(info){
  $scope.selectedComments.length=0; // i nead to clear it before each time i execute the query
  $http.post('databaseFiles/selectedComment.php',{"com_id":info}).success(function(data){
  angular.forEach(data,
   function(selectedComment, key) {
     $scope.selectedComments.push(selectedComment);
   })
});

var $= jQuery.noConflict();
$(document).ready(function() {
    $(".iframe").fancybox({
        type: 'iframe',
        href:'comments.html'
    });
});
}

comments.html

<h3 class="text-center">Les Avis</h3>
    <div class="iframe">
        <div id="class" ng-repeat="selectedComment in selectedComments">
        </div>
        <ul>
         <li  >{{ selectedComment.comment }}</li>
        </ul>
    </div>
    </div>

selectedComment.php

<?php
// Including database connections
require_once 'database_connections.php'; 
// mysqli query to fetch all data from database
$data = json_decode(file_get_contents("php://input"));
$query = "SELECT * from comments WHERE idClient=$data->com_id";
$result = mysqli_query($con, $query);
$arr = array();
if(mysqli_num_rows($result) != 0) {
    while($row = mysqli_fetch_assoc($result)) {
            $arr[] = $row;
    }
}
// Return json array containing data from the database
echo $json_info = json_encode($arr);
?>

执行该功能的HTML href (请注意,它不在html内的Gmap marker内的JS+'<a onClick="getSelectedComments('+info.idClient+')" class="iframe">'+"Lire les avis"+'</a>'

declare @n nvarchar(50) = '50n.25'
select isnull(try_cast(@n as money), 0)

1 个答案:

答案 0 :(得分:0)

您是否知道调用$(".iframe").fancybox({})只会使所选项目可以点击,但如果您想立即打开某些内容,那么您应该只使用$.fancybox.open()?检查文档 - http://fancyapps.com/fancybox/3/docs/#api