我需要检查一个检查箱的检查财产,并使用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>
如何成功查询已检查的房地产?
使用点击事件处理器对检查箱属性是不可靠的,因为检查的属性在执行事件处理器本身时可能会发生变化!
理想情况下,您希望将代码放入变更事件交易器中,因为它每当检查箱的值发生变化时都会被释放(无论它是如何进行的)。
$('#isAgeSelected').bind('change', function () {
if ($(this).is(':checked'))
$("#txtAge").show();
else
$("#txtAge").hide();
});
如果您正在使用更新版本的jQuery,您必须转到.prop 方法来解决问题:
$('#isAgeSelected').prop('checked')将返回真实的,如果检查和假的,如果未检查. 我确认了它,我遇到了这个问题之前. $('#isAgeSelected').attr('checked')和 $('#isAgeSelected').is('checked')是返回不确定的,这不是一个值得答案的情况。
if($('#isAgeSelected').prop('checked')) {
$("#txtAge").show();
} else {
$("#txtAge").hide();
}