在此示例中,我的按钮ID为"删除"打开模态表单,询问问题,例如"您确定要删除吗?"
<td><?=$row["id"]?></td>
<td><?=$row["site_host"]?></td>
<td><?=$row["site_name"]?></td>
<td><?=$row["site_user"]?></td>
<td><?=substr($row["site_value"], 0, 11)?>...</td>
<td><i class="glyphicon glyphicon-minus alert-danger" id="delete" data-id="<?=$row["id"]?>" data-toggle="modal" data-target="#sitedelete"></i></td>
我现在正在传递模态表格,如果你愿意,我也可以和你分享。 我的PHP文件没有问题,我只想向您展示我的jQuery代码:
$(document).ready(function () {
var silid = 0;
$("#delete").click(function(){ // this one is my button
silid = $(this).data("id"));
})
$("#sitedelete").submit(function(event){ // i want to pass silid variable to this function.
event.preventDefault();
alert(silid);
});
});
但是当我点击#delete时,它只给我第一行获取的SQL数据的id。其他未定义或返回0 我认为我没有将数据传递给其他功能的问题,它只能看到第一行的ID。
谢谢。
答案 0 :(得分:1)
如果您有多个删除按钮,则它们不能都具有相同的ID:id="delete"
。而是让每个按钮使用.delete
类名,以便选择器按预期工作。
然后您需要更改
$("#delete").click(function(){ // this one is my button
到
$(".delete").click(function(){ // this one is my button
答案 1 :(得分:1)
将delete
作为一个班级,您可以一次又一次地使用同一个班级而不会出现任何冲突或问题。
<i class="glyphicon glyphicon-minus alert-danger delete" data-id="<?=$row["id"]?>" data-toggle="modal" data-target="#sitedelete"></i>
和
$(".delete").click(function(){
答案 2 :(得分:0)
这是因为你对所有按钮都有相同的id。你可以这样做:
<i onclick="click('<?=$row["id"]?>')" class="glyphicon glyphicon-minus alert-danger" id="delete" data-id="<?=$row["id"]?>" data-toggle="modal" data-target="#sitedelete"></i>
在javascript中:
function click(id) {
}
答案 3 :(得分:0)
在我的例子中,你不需要CLASS或ID,所以你可以自由地用它做你想做的事。
按下“按钮”打开模态时,我会从按钮中获取数据ID。
$(document).on('show.bs.modal', '#sitedelete', deleteAction);
var silid = 0;
function deleteAction(e) {
var deleteButton = $(e.relatedTarget); // get triggering button
var id = deleteButton.data('id');
// now you have your "silid" value available + your delete modal is open.
}
此外,我还要注意,使用<i>
- 标记作为按钮不是一个好习惯。