Javascript 如何通过PHP填充引导弹出窗口

Javascript 如何通过PHP填充引导弹出窗口,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我知道以前有人问过这个问题,我读过答案,并实施了它,但我面临一个小问题 在PHP文件中,我试图制作一个锚定标记,然后在弹出窗口中显示它,但不是使其可点击,而是显示整个内容(连同锚定标记)。 此外,一旦点击图标,它就会粘住,即使在点击图标或页面上的任何其他位置后也不会消失 代码如下: HTML文件: <li style="margin-left: 15px;"> <a href="#" data-placement="bottom" title="notificatio

我知道以前有人问过这个问题,我读过答案,并实施了它,但我面临一个小问题

在PHP文件中,我试图制作一个锚定标记,然后在弹出窗口中显示它,但不是使其可点击,而是显示整个内容(连同锚定标记)。 此外,一旦点击图标,它就会粘住,即使在点击图标或页面上的任何其他位置后也不会消失

代码如下:

HTML文件:

<li style="margin-left: 15px;">

    <a href="#" data-placement="bottom" title="notifications" data-poload="notification_list.php" id="id-wala">
    <img src="assets/ring.png" width="25" height="25" data-toggle="tooltip" data-placement="bottom" title="notifications">

   </a>

  </li>
PHP文件

$('*[data-poload]').click(function() {
            console.log('Hey');
        var e=$(this);
        e.off('click');
        e.unbind('click')
        $.get(e.data('poload'),function(d) {
            console.log(d);
            e.popover({content: d}).popover('show');
        });
    }); 
    <?php
           #The code for connecting to the database removed for clarity.
           $sql1 = "SELECT PID from post where UID = '$a'";
           $result1 = mysqli_query($conn,$sql1);
           $end_result = '';
           while($row1 = mysqli_fetch_assoc($result1)) {
             $temp = $row1["PID"];
             $sql = "SELECT * from comment where status = 'unread' and PID = '$temp' ";
            $result = mysqli_query($conn, $sql);
            if (mysqli_num_rows($result) > 0) {
                  while($row = mysqli_fetch_assoc($result)) {
                      $end_result='<a href ="#" >'.'Notification from '.$row["UID"].'</a>';
                        echo $end_result;
                        echo '<br/>';
                    }
            }
        }
           $conn->close();
    ?>

问题是,echo$end_结果正在打印
,而不是来自89的通知,并使其可单击


请就如何解决此问题提供一些建议。

此问题是因为默认情况下,popover上的
html
属性为
false
。这意味着您试图放置在popover内容中的任何HTML都将被删除。要更改此行为,需要设置
html:true

您还需要使用
trigger:'manual'
并使用
toggle
选项在连续单击时隐藏/显示弹出框。试试这个:

e.popover({
    html: true,
    trigger: 'manual',
    content: d
}).popover('toggle');


非常感谢!,它解决了这个问题,还有一件事。我如何在再次点击它时禁用它?我不确定你的意思-你想禁用什么?我的意思是,如果我第二次点击图像,我如何使弹出窗口消失?请再说一件事,我的PHP文件只在第一次点击时被调用,我如何使它在每次点击时运行,我以前使用过ajax调用,但它不显示popover中的数据并破坏css,我如何通过上面使用的方法实现此功能?删除对
unbind()
off()的调用