在以下代码中,我正在显示数据库中的表,并为每个记录提供一个编辑选项/按钮。当单击编辑按钮时,将显示该记录的详细信息的模态,用户可以在其中编辑数据并保存相同的数据。因此,我试图将按钮单击时该记录的ID发送给模态。但我面临的问题是仅发送第一条记录的ID。在每种情况下,我单击哪个按钮时,模态只显示第一个记录的数据。
<div class="carousel-item active" style="background-image: url('{{ Voyager::Image($banner[0]->banner_image) }}')">
答案 0 :(得分:3)
您可以执行以下操作:
$(".actionEdit").on("click", function () {
var uniqueId = $(this).attr("data-id");
$.ajax({
url: "path",
type: 'POST',
data: { uniqueId: uniqueId },
success: function (result) {
//do something with result
$('#update').modal('show'); //open the modal window
},
error: function () { alert("Whooaaa! Something went wrong.."); }
});
});
为“ actionEdit”提供一个类,并将click事件绑定到该类。 然后单击即可获取数据ID并进行ajax调用,以获取所有用于编辑/更新的值并打开模式窗口。
答案 1 :(得分:1)
首先:在数据库表中使用主键
第二:使用隐藏的输入并将主键保存在其中并发送:
<form ... >
<input name="primary_key" type="hidden" value="<?php echo ($result->PRIMARY_KEY_COLUMN); ?>">
...
..
.
<submit.....>
</form>
答案 2 :(得分:0)
或者您可以调用以id为参数的函数
function load_details(data_id){
$.ajax({
url: "path",
type: 'POST',
data: { data_id: data_id},
success: function (result) {
//do something with result
$('#myModal').modal('show'); //open the modal window
},
error: function () { alert("Oops..! Something went wrong.."); }
});
}