Php 从数据库中删除行并使用jquery查看
我有一个显示以下数据的网页:Php 从数据库中删除行并使用jquery查看,php,jquery,ajax,Php,Jquery,Ajax,我有一个显示以下数据的网页: | id | name | delete | | 1 | orange | delete | | 2 | apple | delete | etc... 当您按下delete(它是一个按钮)时,您会看到一个jquery对话框,再次显示两个按钮。您可以一次删除多个项目,也可以仅删除选定的项目 ------------------------------- |dialog | -------------------
| id | name | delete |
| 1 | orange | delete |
| 2 | apple | delete | etc...
当您按下delete(它是一个按钮)时,您会看到一个jquery对话框,再次显示两个按钮。您可以一次删除多个项目,也可以仅删除选定的项目
-------------------------------
|dialog |
-------------------------------
|delete this row |
|delete entire series |
-------------------------------
我的问题是:例如,当在对话框中选择“删除此行”时,如何在jquery中获取所选行的ID?如何重定向到删除数据库中的行的php页面,然后重定向到当前更新的页面(删除该行)
我对jquery非常陌生,但到目前为止我得到的是:
JQuery
<script>
$(function() {
$( ".dialog" ).dialog({ autoOpen: false });
});
$(function() {
$(".showDialog").click( function()
{
$( ".dialog" ).dialog( "open");
});
});
$(function() {
$( ".deleteEvent" ).click( function()
{
$( ".dialog" ).dialog( "close");
$(this).closest("tr").remove(); // doesn't work
});
});
</script>
$(函数(){
$(“.dialog”).dialog({autoOpen:false});
});
$(函数(){
$(“.showDialog”)。单击(函数()
{
$(“.dialog”).dialog(“打开”);
});
});
$(函数(){
$(“.deleteEvent”)。单击(函数()
{
$(“.dialog”).dialog(“关闭”);
$(this).closest(“tr”).remove();//不起作用
});
});
对话
<div class="dialog" title="delete event dialog">
<input class="deleteEvent" type='button' value='delete this row'/>
</div>
桌子
foreach($table作为$row)
{
回显'.$row['id'].'',
“.$row['name']”,
'',
'';
}
当使用“删除输入”按钮输出html时,还要添加一个隐藏的输入字段,将id作为值传递
编辑:
我误读了你的代码,看起来你没有为每一行显示单独的输入按钮。对于您的情况,我建议将该行添加为div id值的一部分,或者在div中添加一个自定义属性,如下所示:
foreach($table as $row)
{
echo '<tr><td>'.$row['id'].'</td>',
'<td>'.$row['name'].'</td>',
'<td><div id="row_'.$row['id'].'" class="showDialog" ><IMG style="margin-left:15px;" src="./public/pictures/trash.gif"></a></div></td>',
'</tr>';
}
foreach($table作为$row)
{
回显'.$row['id'].'',
“.$row['name']”,
'',
'';
}
或
foreach($table作为$row)
{
回显'.$row['id'].'',
“.$row['name']”,
'',
'';
}
然后在您的点击事件中,您可以分别使用
$(this).attr('id').split('u')[1]
或$(this).attr('row')
)来回答您的问题,特别是向我们展示您在被否决后所做的尝试。请解释原因?这种方法是标准做法。我没有投反对票,但我已经有了表中每一行的id。如何从jquery中要删除的行中访问id,以便调用从数据库中删除该行的phpscript?很抱歉,我误读了您的代码,您实际上没有为每一行设置单独的输入按钮..更新的回答很抱歉我的响应太晚,但我一直在努力使用jquery语法和递归函数。然而你的建议起了作用。非常感谢。
foreach($table as $row)
{
echo '<tr><td>'.$row['id'].'</td>',
'<td>'.$row['name'].'</td>',
'<td><div id="row_'.$row['id'].'" class="showDialog" ><IMG style="margin-left:15px;" src="./public/pictures/trash.gif"></a></div></td>',
'</tr>';
}
foreach($table as $row)
{
echo '<tr><td>'.$row['id'].'</td>',
'<td>'.$row['name'].'</td>',
'<td><div row="'.$row['id'].'" class="showDialog" ><IMG style="margin-left:15px;" src="./public/pictures/trash.gif"></a></div></td>',
'</tr>';
}