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

如何使用JQuery检测ul中被勾选的li复选框并获取对应文本

问题原因

代码判断复选框选中状态的入参写法错误:

  • jQuery的.prop()方法接收DOM原生属性名作为参数,判断选中状态的正确属性名是checked,不需要加冒号
  • 带冒号的:checked是jQuery选择器的专用语法,不能直接作为.prop()的入参使用,这就是始终无法命中true分支的根本原因

修正后完整代码

基础遍历实现(和你原有写法逻辑对齐)

// saveBtn函数内部代码
$("#DATE_29_CB_P li").each(function() {
    // 修正prop参数,去掉冒号
    if ($(this).find("input[type=checkbox]").prop("checked")) {
        console.log("复选框已选中");
        // 获取选中项的文本内容,trim去除前后空白字符
        const selectedText = $(this).text().trim();
        console.log("选中项文本:", selectedText);
    } else {
        console.log("复选框未选中");
    }
});

简化实现(无需遍历所有li,直接筛选选中项)

如果你页面上的复选框是单选逻辑(和你绑定的onlyOne函数逻辑匹配),可以直接用选择器筛选选中项,代码更简洁:

// saveBtn函数内部代码
const $checkedBox = $("#DATE_29_CB_P input[type=checkbox]:checked");
if ($checkedBox.length) {
    const selectedText = $checkedBox.closest("li").text().trim();
    console.log("选中项文本:", selectedText);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 11:27:03