我需要检查一个检查箱的检查财产,并使用jQuery进行检查财产的操作。

例如,如果年龄检查框被检查,那么我需要显示一个文本框进入年龄,否则隐藏文本框。

但下列代码默认返回虚假:

如果($('#isAgeSelected').attr('checked')) { $("#txtAge").show(); } 其他 { $("#txtAge").hide(); } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkbox" id="isAgeSelected"/> <div id="txtAge" style="display:none"> 年龄 已选择 </div>

如何成功查询已检查的房地产?


当前回答

如何成功查询已检查的房地产?

检查箱 DOM 元素的检查属性将为您提供检查元素的状态。

考虑到您的现有代码,您可以这样做:

if(document.getElementById('isAgeSelected').checked) {
    $("#txtAge").show();
} else {
    $("#txtAge").hide();
}

但是,有一个更方便的方式来做到这一点,使用Toggle:

$('#isAgeSelected').click(功能() { $("#txtAge").toggle(this.checked); }; <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkbox" id="isAgeSelected"/> <div id="txtAge" style="display:none"> 年龄是某种东西</div>

其他回答

相同: 0 / 1 或其他

<input type="checkbox" id="nolunch" />
<input id="checklunch />"

    $('#nolunch').change(function () {
    if ($(this).is(':checked')) {
        $('#checklunch').val('1');
    };
    if ($(this).is(':checked') == false) {
        $('#checklunch').val('0');
    };
});

这对我工作:

$get("isAgeSelected ").checked == true

在哪里是AgeSelected是控制的ID。

此外, @karim79的答案工作得很好,我不确定我在测试时错过了什么。

注意,这是答案使用Microsoft Ajax,而不是jQuery

如果您需要知道是否在JavaScript中进行检查,您应该使用此代码。

let checkbox =document.getElementById('myCheckboxId');
if(checkbox.checked) {
    alert("element is checked");
} else {
    alert("element is  ot checked");
}

如果您正在使用更新版本的jQuery,您必须转到.prop 方法来解决问题:

$('#isAgeSelected').prop('checked')将返回真实的,如果检查和假的,如果未检查. 我确认了它,我遇到了这个问题之前. $('#isAgeSelected').attr('checked')和 $('#isAgeSelected').is('checked')是返回不确定的,这不是一个值得答案的情况。

if($('#isAgeSelected').prop('checked')) {
    $("#txtAge").show();
} else {
    $("#txtAge").hide();
}

使用:

$(this).toggle($("input:checkbox", $(this))[0].checked);

当您选择不背景时,请记住您需要 [0] 才能访问检查框。