You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JQuery Ajax无法正确获取按钮ID值,仅能获取首个ID问题咨询

问题出在重复的ID上!

嘿,我一眼就揪出问题根源了——你页面里的多个编辑按钮都用了同一个id="ed",但HTML规范里明确要求ID必须是页面唯一的!浏览器只会认第一个带这个ID的元素,所以不管你点哪个按钮,事件都只会绑定到第一个按钮上,自然只能拿到它的ID值。

两步就能搞定:

1. 把按钮的ID改成类名

把所有按钮的id="ed"替换成class="ed",这样多个按钮就能共享同一个标识了,比如:

<button class="ed" value="1">编辑条目1</button>
<button class="ed" value="2">编辑条目2</button>
<button class="ed" value="3">编辑条目3</button>

2. 更新你的jQuery事件绑定代码

把事件委托的选择器从#ed改成.ed,这样就能正确匹配所有带ed类的按钮了:

$('#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"); 
    }); 
});
可选优化:用data属性存ID更规范

如果觉得用value属性存ID有点不直观(毕竟按钮的value本来是给表单提交用的),可以改用HTML5的data-id属性,代码可读性更高:

<button class="ed" data-id="1">编辑条目1</button>

然后在JS里这样获取ID:

var id = $(this).data("id");
小提醒

以后写HTML一定要记牢:ID是给单个元素独用的,类名才是用来标记一组功能相同的元素的~这样就不会再遇到这种绑定错位的问题啦!

内容的提问来源于stack exchange,提问作者Ahmad Muzakkir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:04:47