jQuery如何获取列表项文本并在confirm确认弹窗中正常展示
问题根因
代码无法正常展示已选分类列表,是3个明显问题导致的:
categoriesInConfirm函数内的遍历代码多写了一个右括号,存在语法错误,函数执行时会直接中断- 函数没有定义返回值,默认返回
undefined,拼接到confirm弹窗文本里自然显示不出有效内容 - 遍历分类节点时仅单独读取了单个节点的文本,没有将所有分类内容收集、拼接为完整的展示字符串
- 你在控制台执行的代码没有语法错误,且直接通过
console.log打印内容,所以能正常输出结果
修复方案
直接替换原有业务代码即可,修复后分类会逐行展示在弹窗里,方便复核:
$("#add_campaign").on('submit', function(event){ const confirmContent = "Confirm:\n" + "\nCategorii selectate:\n- " + categoriesInConfirm() + "\n\nContinue?"; if(!confirm(confirmContent)) { event.preventDefault(); } }); function categoriesInConfirm() { const categoryArr = []; $('#newCategories li span').each(function (){ // 去除文本前后空格后存入数组 categoryArr.push($(this).text().trim()); }) // 用换行+短横线拼接,实现列表展示效果,要改成逗号分隔就把'\n- '替换为', ' return categoryArr.join('\n- '); }
如果你需要其他分类展示格式,只需要修改
join方法里的拼接字符串就能调整样式。
内容的提问来源于stack exchange,提问作者user3848412
相关产品推荐
相关产品推荐

