php - 在具有相同类的多个元素上使用 AJAX/jquery 向 MySQL 添加记录
问题描述
我是新来的,我在使我的代码正常工作时遇到了一些困难。希望你们能帮助我。我以表格格式在模式框中显示来自 MySQL 的记录。每行都有自己的添加(+)按钮,通过 php 循环生成,该按钮显示应该输入的记录,使用 jquery on click 事件和 AJAX 添加到不同的表中。每个 td 行都提供了一个类名为“idKont”的输入字段,但单击 + / 添加按钮后只会添加第一个字段。
$('#add_kontpers').on("click", function(e) {
e.preventDefault();
var ptId = $('#idAj').text(); // ID of the customer that will be passed
var idKont = $('.idKont').val(); // ID of the contact person
$.ajax ({
url: "folder/insert_data.php",
method:"POST",
data:
{
id: ptId,
idKont: idKont
},
dataType:'text',
success: function(result) {
//$('#myModal').modal('hide');
$('#alert_modal').append( '<div class="alert alert-success">Success</div>' ).fadeIn(1000).fadeOut(4000);
}
})
})
这是带有 PHP 的 HTML 代码:
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header" style="padding:10px 50px;">
<p><span class="glyphicon glyphicon-lock"></span> Choose Contact Person</p>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body" style="padding: 40px 50px;">
<form role="form" method="post">
<div id="alert_modal"></div>
<table class="table table-responsive">
<thead class="thead-light">
<tr>
<th>ID</th>
<th>Vorname</th>
<th>Name</th>
<th>Tel</th>
<th>Mobil</th>
</tr>
</thead>
<tbody>
<?php
try {
$stmt = $connser->prepare("SELECT ID, Vorname, Name, Tel, Mobil FROM Contactperson ORDER BY ID DESC");
$stmt->execute();
while ($row = $stmt->fetch()) {
$kontID = $row['ID'];
?>
<tr>
<td><?php echo $row['ID']; ?></td>
<td><?php echo $row['Vorname']; ?></td>
<td><?php echo $row['Name']; ?></td>
<td><?php echo $row['Tel']; ?></td>
<td><?php echo $row['Mobil']; ?></td>
<td><input class="idKont" value="<?php echo $kontID; ?>" type="hidden" /></td>
<td><button type="submit" class="btn btn-success add_kontpers">+</button></td>
</tr>
<?php
}
}
catch(PDOException $e) {
echo "Error";
//echo "Error: " . $e->getMessage();
exit;
}
?>
</tbody>
</table>
</form>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-danger btn-default pull-left" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
模态框应该保持打开状态,但是如果我单击顶部的第一个元素,则只会添加这个元素。我希望有机会单击列表中的一个位置以将其添加到表格中,第二个位置,依此类推,但是如果我单击其他按钮,那么第一个按钮将关闭,并且网站重新加载。任何帮助或正确方向的提示都将受到高度赞赏。
解决方案
两件事,首先你不能重用相同的 ID,并且通过add_kontpers
循环,你将重用它。
因此,首先,将其更改为一个类并且idAj
在提供的代码中不存在。
<button type="submit" class="btn btn-success add_kontpers">
然后在您的 jQUERY 中进行此更改
$('.add_kontpers').on("click", function(e) {
e.preventDefault();
var ptId = $('#idAj').text(); ?????????????????????
var idKont = $(this).parents("tr").find('.idKont').val(); // ID of the contact person
推荐阅读
- sql - With 子句:嵌套树
- protocol-buffers - 如何在 protobuf .proto 文件中表示字节和字(int16)?
- java - Java中的Python Xrange
- django - Django DRF 将 request.user 添加到模型序列化器
- ios - 我收到 1570 Cocoa 错误,因为与父实体的关系 var 结果为零 Core Data swift
- python - 无法在马尔可夫制度切换模型的属性类中设置属性
- c# - 如何使用带有内部列表的列表集合表示 wpf 中的数据
- google-app-maker - 使用 Pager 旋转页面片段
- python - 使用 url_for() 将 Flask 变量从 HTML 发送回 Flask
- jquery - JSON数据不显示