I';在php中单击按钮并使用jquery将id作为警报消息获取时,我没有获得分配给每个删除按钮的不同行id吗?
我正在研究MVC结构,其中我使用php作为后端,Smarty模板引擎作为前端(VIEW),jquery用于处理事件。我正在使用Smarty、jquery、PHP和MySQL PDO执行CRUD操作。在这里,我创建了一个tpl文件,在一个单独的行中显示用户数据,每行包含一个删除和更新按钮。我将每个用户的id分配给这些按钮。现在,当用户单击此按钮时,我将检查该按钮是否包含正确的用户id,是否作为在jquery处理程序中保存用户id的警报消息。但我得到的只是单击最后输入的用户的删除按钮/更新按钮时的最后一个用户id。包含删除/更新按钮的表的其他行不显示警报消息(即,当我单击按钮时,不会发生任何事情)。 当我单击任意行上的任意按钮时,请帮助我获取id作为警报消息 >record.tplI';在php中单击按钮并使用jquery将id作为警报消息获取时,我没有获得分配给每个删除按钮的不同行id吗?,php,jquery,ajax,smarty,smarty3,Php,Jquery,Ajax,Smarty,Smarty3,我正在研究MVC结构,其中我使用php作为后端,Smarty模板引擎作为前端(VIEW),jquery用于处理事件。我正在使用Smarty、jquery、PHP和MySQL PDO执行CRUD操作。在这里,我创建了一个tpl文件,在一个单独的行中显示用户数据,每行包含一个删除和更新按钮。我将每个用户的id分配给这些按钮。现在,当用户单击此按钮时,我将检查该按钮是否包含正确的用户id,是否作为在jquery处理程序中保存用户id的警报消息。但我得到的只是单击最后输入的用户的删除按钮/更新按钮时的最
<div class='container'>
<h1>Users Record</h1>
<table style="width:100%;color:white;">
<thead>
<tr bgcolor="blue">
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th>Date of Birth</th>
<th>Entry Date</th>
<td>Edit</td>
<td>Delete</td>
</tr>
</thead>
{foreach from=$data key=myId item=i }
<tr bgcolor="{cycle values="lightblue,azure"}">
<td>{$i.id}</td>
<td>{$i.name}</td>
<td>{$i.email}</td>
<td>{$i.dob|date_format:"%e %b, %Y"}</td>
<td>{$i.created_at|date_format:"%e %b, %Y %H:%M:%S"}</td>
<td><button type='button' id='edit-data' data-id={$i.id}>✎</button></td>
<td><button type='button' id='delete-data' data-id={$i.id}>✖</button></td>
</tr>
{foreachelse}
<tr>
<td>No records</td>
</tr>
{/foreach}
</table>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#edit-data').click(function(){
var id = $(this).data('id');
alert(id);
});
});
</script>
因此,当我单击第一行删除/更新按钮时,它会将用户id显示为警报消息,即userId=29,但当我转到第二行或表的任何其他行并单击删除/更新按钮时,警报消息不会弹出
请任何人帮我解决这个问题。
提前谢谢!(^ ^)您正在HTML元素上使用ID,但ID在文档中必须是唯一的。请改为上课。非常感谢您的回复。你是对的,它应该是一个类而不是一个id。我不记得了。
<?php
class guestbook extends controller
{
public $error = array();
//var $error = null;
function __construct()
{
parent::__construct();
}
function display()
{
$data = $this->objDBF->getEntries();
echo "<pre>";
print_r($data);
$this->smarty->assign('data', $data);
$this->smarty->display('record.tpl');
}
}
Array
(
[0] => Array
(
[id] => 29
[name] => Tony Stark
[email] => starktony@yahoo.com
[dob] => 1987-03-12
[created_at] => 2020-09-30 18:18:37
)
[1] => Array
(
[id] => 28
[name] => Howard Stark
[email] => starkhoward@gmail.com
[dob] => 1895-07-12
[created_at] => 2020-09-30 18:07:05
)
[2] => Array
(
[id] => 27
[name] => Ramesh Jain
[email] => rameshjain@gmail.com
[dob] => 1996-05-18
[created_at] => 2020-09-30 18:03:25
)
[3] => Array
(
[id] => 17
[name] => Ho Yinsen
[email] => senho@gmail.com
[dob] => 1896-05-14
[created_at] => 2020-09-30 14:26:30
)
)