如何获取表格中勾选checkbox对应的公司值并弹窗展示
修复方案
你代码的核心问题出在判断逻辑和取值逻辑上:你存储了所有行的勾选状态和全部公司名,且将状态数组转字符串后和布尔值比较,这个判断条件永远无法触发,同时弹窗内容也会包含所有行的公司名而非选中项。
HTML代码无需修改,直接替换原有的show_value函数即可实现需求,修复后的JS代码如下:
function show_value() { const selectedCompanies = [] // 直接筛选已勾选的checkbox遍历 $("[name=checkbox_val]:checked").each(function() { const companyName = $(this).closest("tr").find("[name=company_name]").val() selectedCompanies.push(companyName) }) // 判断是否有选中项再弹窗 if(selectedCompanies.length > 0) { alert(selectedCompanies.join(',')) } else { alert('请至少选择一家公司') } }
修改点说明
- 用jQuery的
:checked选择器直接过滤出已勾选的复选框,不需要额外存储所有行的状态 - 仅收集勾选行对应的公司名称,避免冗余数据
- 用数组长度判断是否有选中项,替换原来错误的字符串与布尔值比较逻辑
- 使用
join(',')方法拼接数组,输出格式更稳定
内容的提问来源于stack exchange,提问作者Pi Network Crytocurrency
相关产品推荐
相关产品推荐

