2

チェックボックスの初期状態が何であるかを判断するために使用できることはわかって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

誰にも解決策がありますか?

ありがとう

[編集] 多くの非常に役立つ..ヘルプの後。入力の1つに変更イベントがあるときに起動される私のソリューションは次のとおりです。

$('#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
    }

});
4

1 に答える 1

2

あなたの例では、プロパティと比較defaultCheckedしていdefaultCheckedます。プロパティと比較する必要がdefaultCheckedありcheckedます。

$isModified = $this.find('input')[0].defaultChecked !== $this.find('input')[0].checked;
于 2012-11-27T11:37:02.300 に答える