2016-04-22 9 views
1

jQueryのcheckboxのcheckedプロパティを参照しようとしています。jQueryの要素のcheckedプロパティを参照するにはどうすればよいですか?

$("#chkACCEPT").click -> 
    alert this.checked     // returns true 
    alert $("#chkACCEPT").checked  // returns undefined 

なぜ2行目はundefinedを返さない:私は要素にイベントハンドラ内thisを参照している場合にのみ返されますか?それはとても狂っているようだ。

答えて

2

これは、jQueryですオブジェクト.checkedプロパティを持っていませんが、純粋な オブジェクトです。あなたが.checkedを使用したい場合は

だからthisを使用するか、またはjQueryからネイティブDOMオブジェクトを引くことができます。

alert(this.checked) or alert ($("#chkACCEPT")[0].checked) 

またはjQueryを使って、.prop()を使用して:

$(this).prop('checked'); // $("#chkACCEPT").prop('checked'); 
1

.checkedは、jqueryオブジェクトではなくjavascriptオブジェクトに関連付けられたプロパティです。 jQueryオブジェクトにそれを使用するために、あなたは、JSオブジェクトに変換する必要があり、その後

checkedプロパティを使用し
$("#chkACCEPT")[0].checked 

これを行うための正しい方法は次のとおりです。JavaScriptを使用して

のjQueryを使用して
$("#chkACCEPT").click(function(){ 
    console.log(this.checked); //return bool value 
}); 

$("#chkACCEPT").click(function(){ 
    console.log($(this).is(':checked'));//return bool value 
}); 
関連する問題