この単純な if ステートメントが常にボックスがチェックされていないと言うのはなぜですか?
$("#x").prop('checked',true);
//$("#x").prop('checked',false);
if ($("#x").checked) {
alert("Checbox is checked");
} else {
alert("Checkbox is not checked");
}
この単純な if ステートメントが常にボックスがチェックされていないと言うのはなぜですか?
$("#x").prop('checked',true);
//$("#x").prop('checked',false);
if ($("#x").checked) {
alert("Checbox is checked");
} else {
alert("Checkbox is not checked");
}
.checked
jquery プロパティではなく、DOM 要素プロパティです。
.is(':checked')
または使用する必要があります.prop('checked')
$("#x").prop('checked',true);
//$("#x").prop('checked',false);
if ($("#x").is(':checked')) {
alert("Checbox is checked");
} else {
alert("Checkbox is not checked");
}
checked
は DOM 要素のプロパティなので、DOM 要素で使用します。
$("#x")[0].checked
それ以外の場合は次を使用します。
$("#x").is(':checked')
jQueryでは:checked
セレクターを使用できると思いますが、あなたの場合はネイティブを使用します。コードの外観から、ネイティブと jQuery を組み合わせて使用していることがわかります。それが正しいかどうかはわかりませんが。
これを試して:
var x = document.getElementById('x');
x.setAttribute('checked', 'checked');
if (x.checked) {
// Checkbox is checked
} else {
// Checkbox is not checked
}
これが私の答えです。
$("#x").attr('checked',true);
//$("#x").prop('checked',false);
if ($("#x").attr("checked")) {
alert("Checbox is checked");
} else {
alert("Checkbox is not checked");
}