Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript php html所有对话框打开_Javascript_Php_Jquery_Dialog - Fatal编程技术网

Javascript php html所有对话框打开

Javascript php html所有对话框打开,javascript,php,jquery,dialog,Javascript,Php,Jquery,Dialog,我的对话框处于for循环中每次单击按钮时,即使只单击一个按钮,也会显示每个按钮的所有对话框 如果只显示一个对话框,我可以做什么 谢谢大家! 下面是我的代码 HTML代码 <?php foreach($people as $row){ echo "<div class=dialog title='Basic dialog'>".$row->app_name."</div>"; echo "<tr><

我的对话框处于for循环中
每次单击按钮时,即使只单击一个按钮,也会显示每个按钮的所有对话框

如果只显示一个对话框,我可以做什么

谢谢大家!

下面是我的代码

HTML代码

<?php 
        foreach($people as $row){
        echo "<div class=dialog title='Basic dialog'>".$row->app_name."</div>";
       echo "<tr><td><button class='opener' name=name[]>".$row->app_name."</button></td></tr>";
                                    $x=$x+1;    
                                    }
                                ?>
而不是

$( ".opener" ).click(function() {
    $( ".dialog" ).dialog( "open" );
 });
试试这个

$( ".opener" ).click(function() {
    $(this).parents("tr:first").prev().dialog( "open" );
 });
此外,您还可以使用如下方式:

$( ".opener" ).click(function() {
        $(this).closest('.dialog').dialog( "open" );
     });

如何解决这一问题是人们的偏好问题。这是另一个:

<?php
    $x = 1; // count from 1 
    foreach($people as $row){
        echo "<tr><td>";
        echo "<button class='opener' name=name[] data-target='#dialog-$x'>".$row->app_name."</button>";
        echo "<div class=dialog title='Basic dialog' id=dialog-$x>".$row->app_name."</div>";
        echo "</td></tr>";
        $x++; // will increase x with 1    
    }
?>

在JSFIDLE上创建一个表之后,您可以共享您的源代码吗?您也可以使用最接近的()for itI从您的示例中复制它,并假设它是一个计数器。我将编辑我的代码以显示它的用途。因此,我将用这个小代码替换我的整个javascript代码?不仅仅是带有单击功能的部分。
<?php
    $x = 1; // count from 1 
    foreach($people as $row){
        echo "<tr><td>";
        echo "<button class='opener' name=name[] data-target='#dialog-$x'>".$row->app_name."</button>";
        echo "<div class=dialog title='Basic dialog' id=dialog-$x>".$row->app_name."</div>";
        echo "</td></tr>";
        $x++; // will increase x with 1    
    }
?>
$(".opener").click(function() {
    var target = $(this).data('target');
    $(target).dialog('open');
});