使用jquery从状态被更改(选中或未选中)的复选框集合中获取复选框列表

Getting only the list of checkboxes from a collection of checkboxes for which status is changed(checked or unchecked) using jquery

本文关键字:复选框 jquery 集合 列表 获取 使用 状态      更新时间:2023-09-26

我有一个有多行的表,每一行都有一个复选框,处于选中或未选中状态。用户可以选中或取消选中一些复选框,并点击提交按钮来保存更改。

是否有办法只获得原始状态改变的复选框列表(从已选中变为未选中或未选中变为已选中)?

如果这是可能的,那么我将能够为用户提供一个按钮来更新,否则我可能不得不为每一行更新一个按钮。

我也在考虑通过ajax更新,只要状态变化为每个复选框,但我更喜欢通过一次更新所有的服务器调用。

关于这个问题的任何信息都是非常感谢的。

谢谢!

如果在标记中设置了checked属性,则可以使用.attr().prop()

<input type="checkbox" checked="checked" />
<input type="checkbox" />

js

var changedInputs = $("input").filter(function() {
    var input = $(this),
        checked = (input.attr("checked") || "") === "checked";
    return (checked !== input.prop("checked"));
});
console.log(changedInputs);
示例