PHP – передать скрытое значение в jquery

<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 } ?> 

таблица отделов
dept_ID dept_name
1 учетная запись
2 Финансы
3 Маркетинг

Предположим, что таблица моего отдела имеет только 3 записи.
Мое требование следующее:
– Нажмите кнопку 1-го удаления, show department ID = 1
– Нажмите кнопку 2-го удаления, отобразите идентификатор отдела = 2
– Нажмите кнопку 3-го удаления, показать идентификатор отдела = 3

Однако из моего кода я не могу выполнить свое требование.
Вывод идентификатора отдела, который я получаю, равен 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 

+ Изменить

ID = "DepartmentID"

в

class = "departmentID" и

+ Изменить

 <script> $(document).ready(function(){ $(".buttonsPromptConfirmDeleteDepartment").click(function(){ var departmentID = $('input#departmentID').val(); alert(departmentID); }); }); 

в

  <script> $(document).ready(function(){ $(".buttonsPromptConfirmDeleteDepartment").click(function(){ var departmentID = $(this).next('input.departmentID').val(); alert(departmentID); }); }); 

прежде всего dept_id в цикле while, и вы используете тот же идентификатор для всех отделов. Еще одна вещь, которую вы можете получить dept_id при нажатии кнопки с помощью jquery .. вот так

 $('.buttonsPromptConfirmDeleteDepartment').click(function(){ dept_id = $(this).next('input').val(); })