jQuery点击删除按钮获取$(this).data('id')返回undefined问题求助
问题原因及修复方案
1. load-data.php 中删除按钮属性语法错误
你输出的删除按钮属性存在多处语法问题:
- 多余的
**标记 data-id属性缺少等号- 属性值引号配对错误
原错误代码:
<button Class='delete-btn' **data-id'{$row["pname"]}**'>Delete</button>
修正后代码(可同时补充value属性适配原有取值逻辑,也可仅保留data-id二选一):
<button class='delete-btn' data-id='{$row["pname"]}' value='{$row["pname"]}'>Delete</button>
2. load-request.php 中JS取值逻辑错误
原有JS代码存在两处取值逻辑错误:
$(this).find("data-id")用法错误:find()方法用于查找当前元素的后代节点,而data-id是当前按钮的自带属性,不是子元素,无法通过该方法获取$(this).attr('value')返回undefined:原删除按钮未定义value属性,自然取不到对应值
修正后JS代码:
$(document).on("click", ".delete-btn", function() { // 方式1:取data-id属性的值 var pn = $(this).data('id'); // 方式2:如果按钮加了value属性,也可以这么取 // var pn = $(this).attr('value'); alert(pn); });
额外优化建议
你load-data.php输出的内容开头没有<table>起始标签,直接输出<tr>,插入到#table-data节点后会导致HTML结构错乱,建议补充开头的<table>标签。
内容的提问来源于stack exchange,提问作者ss kiyami
相关产品推荐
相关产品推荐

