来自jquery的php循环弹出框和对话框

来自jquery的php循环弹出框和对话框,php,jquery,codeigniter,dialog,popup,Php,Jquery,Codeigniter,Dialog,Popup,您好,我正在使用一个名为CodeIgniter的框架,它是MVC的一个示例。我需要一个弹出框,它将显示一个应用程序的子值,但我的对话框不工作,每次我回显它。但是你看,我需要为不同的值循环对话框。我的代码在下面 <?php foreach($people as $row){ echo"<div id='dialog' title='Basic dialog'>".$row->app_name."</div>";

您好,我正在使用一个名为CodeIgniter的框架,它是MVC的一个示例。我需要一个弹出框,它将显示一个应用程序的子值,但我的对话框不工作,每次我回显它。但是你看,我需要为不同的值循环对话框。我的代码在下面

<?php 

        foreach($people as $row){
          echo"<div id='dialog' title='Basic dialog'>".$row->app_name."</div>";
          echo "<button id='opener'>".$row->app_name."</button>";}
                                ?>
使用事件委派

$(document).on("click" ,  "#opener" ,function() {
          $( "#dialog" ).dialog( "open" );
 });

更新代码如下:

<?php 
    $i = 1;
    foreach($people as $row){
      echo"<div id='dialog". $i."' title='Basic dialog'>".$row->app_name."</div>";
      echo "<button id='opener". $i."'>".$row->app_name."</button>";
    ?>
    <script>
        $(function() {
          $( "#dialog<?php echo $i?>" ).dialog({
            autoOpen: false,
            show: {
              effect: "blind",
              duration: 1000
            },
            hide: {
              effect: "explode",
              duration: 1000
            }
          });

          $( "#opener<?php echo $i?>" ).click(function() {
            $( "#dialog<?php echo $i?>" ).dialog( "open" );
          });
        });
    </script>
    <?php
     $i++;
    }
?>

在这种情况下使用id不是个好主意。。。您应该将id更改为class

 echo "<button class='opener'>".$row->app_name."</button>";
id是唯一的您应该使用一个类



享受:)

因为id是唯一的,但在您的情况下,它不工作的原因不是唯一的,它不是一个对话框。它只是在对话框中列出带有的文件。我需要一个弹出窗口
 echo "<button class='opener'>".$row->app_name."</button>";
$( ".opener" ).click(function() {
     $( "#dialog" ).dialog( "open" );
});