javascript - PHP - 将隐藏值传递给 jquery

标签 javascript php jquery html mysql

<html>
<head>
<link rel="stylesheet" href="js/jquery-ui-themes-1.11.1/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.11.1/jquery-ui.js"></script>
<script>
$(document).ready(function(){
    $(".buttonsPromptConfirmDeleteDepartment").click(function(){
        var departmentID = $('input#departmentID').val();
        alert(departmentID);
    });
});
</script>
</head>

<body>
<?php
//db connection

$query = "SELECT * 
          FROM department 
          ORDER BY dept_ID ASC";
$result = mysqli_query($dbc, $query);
$total_department = mysqli_num_rows($result);

if($total_department > 0)
{
?>

<table width="600" border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse">
    <tr>
      <td width="80" align="center">ID</td>
      <td width="300" align="center">Department</td>
      <td width="220" align="center">Action</td>
    </tr>   
<?php        
    while($row = mysqli_fetch_array($result))
    {
?>
      <tr>
        <td align="center"><?php echo $row['dept_ID']; ?></td>
        <td align="center"><?php echo $row['dept_name']; ?></td>
        <td>
          <button class="buttonsPromptConfirmDeleteDepartment">Delete</button>
          <input type="hidden" id="departmentID" value="<?php echo $row['dept_ID']; ?>" />    
        </td>
      </tr>
<?php
   }
?>
  </table> 
<?php
}
?>

部门表
部门ID 部门名称
1 帐户
2 财务
3 市场营销

假设我的部门表只有3条记录。
我的要求如下:
- 单击第一个删除按钮,显示部门 ID = 1
- 点击第二个删除按钮,显示部门 ID = 2
- 点击第三个删除按钮,显示部门 ID = 3

但是从我的代码来看,我无法满足我的要求。
无论我点击什么按钮,我得到的部门ID输出都是1。

有人可以帮助我吗?

最佳答案

无需使用隐藏输入,您可以使用 button改为标记:

<?php while($row = mysqli_fetch_array($result)) { ?>
    <tr>
        <td align="center"><?php echo $row['dept_ID']; ?></td>
        <td align="center"><?php echo $row['dept_name']; ?></td>
        <td>
            <button type="submit" name="departmentID" class="buttonsPromptConfirmDeleteDepartment" value="<?php echo $row['dept_ID']; ?>">Delete</button>
        </td>
    </tr>
<?php } ?>

当然,在执行表单处理的 PHP 脚本中,像往常一样访问 POST 索引:

$id = $_POST['departmentID'];
// some processes next to it

注意:不要忘记 <form>标签。

附加说明:不要忘记使用准备好的语句:

$sql = 'DELETE FROM department WHERE dept_ID = ?';
$stmt = $dbc->prepare($sql);
$stmt->bind_param('i', $id);
$stmt->execute();
// some idea, use error checking when necessary
// $dbc->error

关于javascript - PHP - 将隐藏值传递给 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35423994/

相关文章:

javascript - 不允许空格并限制长度的正则表达式

php - 循环代码优化

Javascript 使用正则表达式替换

javascript - jQuery onclick 函数不会在嵌套的 div 上触发

javascript - 如何在 Ajax 请求后释放内存

javascript - 服务器 API 说它已插入数据库,但事实并非如此

javascript - dojo onClick() 事件和 javascript 范围

php - 在 .htaccess 中使 php_value 成为条件?

php - 如何使用 php 和 mysql 每秒处理数千个请求?

javascript - 使用 id/class 滚动 div 隐藏/显示