Javascript php html所有对话框打开
我的对话框处于for循环中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><
每次单击按钮时,即使只单击一个按钮,也会显示每个按钮的所有对话框 如果只显示一个对话框,我可以做什么 谢谢大家! 下面是我的代码 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');
});