为什么我无法通过我的ajax jquery从按钮获取id值

时间:2018-03-30 01:08:48

标签: php jquery ajax button

我不知道我的脚本有什么问题,但脚本无法获取我的按钮的id值。实际上它只获得第一个id但是第二个等等仍然显示为第一个id。这是我的剧本

$('#list').on('click','#ed', function(){
    var id = $(this).attr("value");

    $.ajax({
        url: 'template/edit.php?id='+id,
        type: 'get',
        data: {ed: id}
    })
    .done(function(fil) {
        $('#modal').modal('show');
        $('#plc_form').html(fil);
    })
    .fail(function() {
        console.log("error");
    });
});

这是我的按钮脚本

<button id="ed" value="<?php echo $row['0']?>" class="btn btn-warning">Edit</button>

我使用php来填充按钮值并且它可以工作,但是当我使用我的ajax向处理服务器发送值时,它总是只获得第一个id。

1 个答案:

答案 0 :(得分:1)

问题出在第一行:

MPI_Init()

您已为jQuery的$('#list').on('click','#ed', function(){ 方法指定了可选的selector参数。这将过滤哪些元素正在侦听点击事件,在您的情况下,它仅限于ID为on()的按钮。

也只是一种预感,但是既然你用php发布了你的html,我猜猜如下:

#ed

在循环中?您可能希望避免在同一页面上创建具有相同ID的多个元素。请在此处查看此答案:https://stackoverflow.com/a/4789863/9560897

修改:根据OP的评论 - “ed”应该是<button id="ed" value="<?php echo $row['0']?>" class="btn btn-warning">Edit</button> 属性,而不是name

最好使用按钮指定一个类,并使用该类作为click方法的选择器,如下所示:

id

<button name="ed" value="<?php echo $row['0']?>" class="my-btn-class btn btn-warning">Edit</button>