我需要检查一个检查箱的检查财产,并使用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>
如何成功查询已检查的房地产?
如果您的 HTML 标签是:
<input type="checkbox" />
特斯拉使用:
$(element).attr("checked"); // Will give you undefined as initial value of checkbox is not set
如果使用POP:
$(element).prop("checked"); // Will give you false whether or not initial value is set
2)如果您的HTML标签是:
<input type="checkbox" checked="checked" />// May be like this also checked="true"
特斯拉使用:
$(element).attr("checked") // Will return checked whether it is checked="true"
Prop 使用:
$(element).prop("checked") // Will return true whether checked="checked"
如何成功查询已检查的房地产?
检查箱 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>
这个例子是按钮。
尝试下列:
<input type="button" class="check" id="checkall" value="Check All" /> <input type="button" id="remove" value="Delete" /> <br/>
<input type="checkbox" class="cb-element" value="1" /> Checkbox 1 <br/>
<input type="checkbox" class="cb-element" value="2" /> Checkbox 2 <br/>
<input type="checkbox" class="cb-element" value="3" /> Checkbox 3 <br/>
$('#remove').attr('disabled', 'disabled');
$(document).ready(function() {
$('.cb-element').click(function() {
if($(this).prop('checked'))
{
$('#remove').attr('disabled', false);
}
else
{
$('#remove').attr('disabled', true);
}
});
$('.check:button').click(function()
{
var checked = !$(this).data('checked');
$('input:checkbox').prop('checked', checked);
$(this).data('checked', checked);
if(checked == true)
{
$(this).val('Uncheck All');
$('#remove').attr('disabled', false);
}
else if(checked == false)
{
$(this).val('Check All');
$('#remove').attr('disabled', true);
}
});
});
如果您正在使用更新版本的jQuery,您必须转到.prop 方法来解决问题:
$('#isAgeSelected').prop('checked')将返回真实的,如果检查和假的,如果未检查. 我确认了它,我遇到了这个问题之前. $('#isAgeSelected').attr('checked')和 $('#isAgeSelected').is('checked')是返回不确定的,这不是一个值得答案的情况。
if($('#isAgeSelected').prop('checked')) {
$("#txtAge").show();
} else {
$("#txtAge").hide();
}