Javascript 如何确定复选框是否与其初始选中状态不同

Javascript 如何确定复选框是否与其初始选中状态不同,javascript,jquery,Javascript,Jquery,我知道我可以使用defaultChecked来确定复选框的初始状态是什么,但是我如何确定其中一个是否已从默认状态更改 我需要设置一个变量,这样我就可以根据结果操作其他东西,这就是我目前拥有的: // This checks if a checkbox has changed from being initially checked $isModified = $(this).find('input')[0].defaultChecked !== $(this).find('input').pro

我知道我可以使用
defaultChecked
来确定复选框的初始状态是什么,但是我如何确定其中一个是否已从默认状态更改

我需要设置一个变量,这样我就可以根据结果操作其他东西,这就是我目前拥有的:

// This checks if a checkbox has changed from being initially checked
$isModified = $(this).find('input')[0].defaultChecked !== $(this).find('input').prop('checked') ? true : false
[编辑]我需要检查复选框是否已从其默认状态更改,而不管它最初是否被选中

这是我认为可能有效(但无效)的方法:

有人有解决办法吗

谢谢

[编辑] 经过很多非常有帮助的。。救命啊。以下是我的解决方案,当其中一个输入上发生更改事件时触发:

$('#input-parent').each(function(i) {
    var $this = $(this),
        isModified
    ;

    $this.find('input').each(function() {
        var $this = $(this);
        if ( !isModified) {
            isModified = $this[0].defaultChecked !== $this[0].checked;
        }
    });

    if ( isModified ) {
        // Do something
    } else {
        // Do something else
    }

});

在您的示例中,您将
defaultChecked
defaultChecked
属性进行比较。您应该比较
defaultChecked
checked
属性

$isModified = $this.find('input')[0].defaultChecked !== $this.find('input')[0].checked;

仅供参考,您不需要在javascript中用$前缀变量也供参考:通常用
$
前缀jQuery对象以区分它们,但不是布尔或字符串等普通变量。感谢Jamiec,我通常用
$
前缀jQuery对象变量,不确定为什么要将其添加到此变量中……您好,先生,默认选中属性和选中属性之间有什么区别?
$isModified = $this.find('input')[0].defaultChecked !== $this.find('input')[0].checked;