jQuery没有点击按钮的数据

时间:2015-11-26 10:17:58

标签: javascript php jquery

在此示例中,我的按钮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。

谢谢。

4 个答案:

答案 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> - 标记作为按钮不是一个好习惯。