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

如何获取选中复选框所在行的价格输入框与货币选择框值?

解决选中表格行的价格与货币值获取问题

你的问题核心出在DOM元素的查找逻辑上,closest()方法是向上遍历DOM树寻找最近的祖先元素的,但价格输入框和货币选择框显然不是复选框的祖先,而是和它同属一行的兄弟/子元素,所以用closest()肯定找不到目标元素。

我来帮你修正代码:

$(document).ready(function() {
    $('#test').click(function(){
        $("#select_update:checked").each(function() {
            // 先定位当前选中复选框所在的表格行
            const $currentRow = $(this).closest('tr');
            
            // 输出复选框的data-id值
            console.log($(this).data('id'));
            
            // 在当前行内查找价格输入框,获取data-price属性值
            console.log($currentRow.find('input[data-price]').data('price'));
            
            // 在当前行内查找货币选择框,获取data-currency属性值
            console.log($currentRow.find('select[data-currency]').data('currency'));
            
            // 如果你需要获取输入框的实时输入值(而非data属性预设值),可以替换成val():
            // console.log($currentRow.find('input[data-price]').val());
        });
    });
});

关键修正说明:

  • 先用closest('tr')锁定当前复选框所在的表格行,这样能把查找范围限制在选中行内,避免误取其他行的元素
  • 用find()配合属性选择器[data-price]/[data-currency],精准定位行内的目标输入框和选择框
  • 推荐使用data()方法读取data-*属性,它比attr()更贴合jQuery的data API规范,还能自动转换数据类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:04:36