JavaScript:从表格行提取数据到对象后如何正确打印ID值
问题:正确打印jQuery对象中的proid属性值
你当前的jQuery代码点击.removeButton按钮后,控制台输出this is your id[object Object],但期望输出this is your id 67,问题出在直接拼接对象和字符串时,JavaScript会将对象默认转换为[object Object],而非读取其中的属性值。
问题分析
- 直接使用
"this is your id"+Cart时,Cart是一个对象,JS会调用其默认的toString()方法,得到[object Object] - 原代码的
each循环会遍历所有表格行,每次都覆盖Cart对象,最终Cart只会保留最后一行的proid值(如果这不是你的预期,还需要调整逻辑)
解决方案
1. 基础修改:访问对象的proid属性
修改console.log语句,明确读取Cart对象的proid属性:
$(".removeButton").click(function () { var Cart = {}; $('#CartReqUpdateProduct tbody tr').each(function (index, item) { var item = $(this).closest("tr"); Cart = { proid: item.find('td').eq(1).find('input').val() } }); // 访问proid属性而非直接拼接对象 console.log("this is your id " + Cart.proid); });
2. 优化逻辑:获取当前点击按钮所在行的proid
如果你的需求是获取当前点击按钮对应的行的proid,不需要遍历所有表格行,直接定位当前行即可,这样更高效:
$(".removeButton").click(function () { // 找到当前按钮所在的tr元素 var currentRow = $(this).closest("tr"); // 获取该行的proid值 var proid = currentRow.find('td').eq(1).find('input').val(); // 打印结果 console.log("this is your id " + proid); });
内容的提问来源于stack exchange,提问作者Mango Play
相关产品推荐
相关产品推荐

