簡體   English   中英

如何確定復選框是否與其初始選中狀態不同

[英]How to determine if checkbox is different from its initial checked state

我知道我可以使用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

[編輯] 無論最初是否選中復選框,我都需要檢查復選框是否已從其默認狀態更改。

這就是我認為可能起作用的(但不起作用):

$isModified = $this.find('input')[0].defaultChecked !== $this.find('input')[0].defaultChecked ? 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
    }

});

在您的示例中,您將defaultCheckeddefaultChecked屬性進行比較。 您應該比較defaultChecked和已checked屬性。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM