javascript - $(this).checked 未选中复选框

标签 javascript jquery

我有一个函数无法正确选择复选框(如果选中) 使用此功能:

function playerJson() {
    players = [];
    $('input[name=playerCheckList]').each(function () {
        if ($(this).checked) {
            players.push($(this).val());
        }
    });

    return $.toJSON(players);
}

我使用此函数来检查所有按钮(正确)

 $(function () {
    $("#checkAllPlayers").click(function () {
        $('input[name=playerCheckList]').each(function () {
            $(this).prop('checked', true);
        });
    });
});

如果我没有 if 语句:

if ($(this).checked) 

从第一段代码开始,它正确地获取所有值(检查或未检查)

所以,这个陈述可能是问题所在,但我不确定为什么。

谢谢

最佳答案

这是指一个 jQuery 对象,它没有“checked”属性(尽管 DOM 会有该属性)。您需要获取属性值。

$(this).prop("checked");

编辑:我支持qwertynl's answer因为 vanilla.js

关于javascript - $(this).checked 未选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21123721/

相关文章:

javascript - rxjs 将 Observable<List<X>> 转换为 Observable<X> 的运算符

javascript - 对象文字属性值简写

javascript - 在类组件内部声明函数与在函数组件内部声明函数

javascript - 模拟 div 内的 href 的点击

javascript - 如何使包含某些特殊对的元素成为数组中的第一个?

php - 使用ajax发送输入类型文件值

javascript - 为什么当我提交聊天应用程序的表单时,输出会乘以我提交的次数

javascript - 修改后的 jQuery API $.when() 在超时时返回未定义

javascript - 我怎样才能改变 jconfirm-buttons 风格 craftpip/jquery-confirm

javascript - 将 JavaScript 函数中的数据作为对象参数传递给 @Html.Action() C#