0

これら 2 つの変数を比較するにはどうすればよいでしょうか。

これが私のコードです:

if ($('#<%= CheckBox1.ClientID %>').val() != $('#<%= CheckBox1.ClientID %>').is(':checked')) {
    /* ... */
}

これは常に true を返します。

これら2つの値を比較するにはどうすればよいですか? チェックボックスの最後の状態をキャプチャして、現在のものと同じかどうかを確認しようとしています。ありがとう!

4

1 に答える 1

0

チェックボックスと .val() 関数の理解に根本的な誤りがあります。

<input id="test" type="checkbox" value="ValueToReturnIfChecked" name="WhateverToUseInYourPost" />

$("#test").val() //will return "ValueToReturnIfChecked.

$("#test").is(":checked") //will return true or false.

$("#test").prop("checked") //will return true or false.

$("#test").attr("checked") //will return checked or empty string

編集:追加の説明

私はあなたの実際の質問に答えるべきだと思います。答えは、 *.val() を *.is(":checked") と比較できないということです。これらは根本的に異なります。過去の状態を追跡したい場合は、いつでも行うことができます:

$("#test").on("click", function(){
     $this = $(this);
     if($this.data("priorState") == $this.is(":checked")){
          //Do something
     }else{
          //The following will inject the state into the checkbox so you can track it.
          $this.data("priorState", $this.is(":checked"))
     }

});
于 2012-07-24T19:46:59.743 に答える