Jquery 在复选框未选中/选中时尝试启用/禁用输入文本
我试图在选中/取消选中复选框时启用/禁用输入文本 我在下面试过这个,但不起作用Jquery 在复选框未选中/选中时尝试启用/禁用输入文本,jquery,Jquery,我试图在选中/取消选中复选框时启用/禁用输入文本 我在下面试过这个,但不起作用 $('#checkbox').change(function(){ if($('#name').attr('disabled') == 'true') $('#name').attr('disabled', 'false'); else $('#name').attr('disabled', 'true'); }); 有什么帮助吗 问候 在这两种情况下,您都将“
$('#checkbox').change(function(){
if($('#name').attr('disabled') == 'true')
$('#name').attr('disabled', 'false');
else
$('#name').attr('disabled', 'true');
});
有什么帮助吗
问候
在这两种情况下,您都将“disabled”属性设置为true
。请尝试以下方法:
if($('#name').attr('disabled'))
$('#name').attr('disabled', false);
else
$('#name').attr('disabled', true);
或者,更简单地说:
$('#name').attr('disabled', !$('#name').attr('disabled'));
您使用的字符串“true”和“false”对于JavaScript来说都是true
值。它们是非空字符串,这才是最重要的。当您使用实常量true
和false
时,您得到了您想要的结果
使用“disabled”作为属性的true
值的常见做法是一种愚蠢的迷信,没有事实依据。当然,它确实有效,因为“disabled”也是一个非空字符串,因此它是true
。如果愿意,可以使用null
作为false
值,或者使用数字零
编辑-根据有用的注释修复了if
语句。需要做的只是检查属性的真实性。在这两种情况下,您都将“disabled”属性设置为true
。请尝试以下方法:
if($('#name').attr('disabled'))
$('#name').attr('disabled', false);
else
$('#name').attr('disabled', true);
或者,更简单地说:
$('#name').attr('disabled', !$('#name').attr('disabled'));
您使用的字符串“true”和“false”对于JavaScript来说都是true
值。它们是非空字符串,这才是最重要的。当您使用实常量true
和false
时,您得到了您想要的结果
使用“disabled”作为属性的true
值的常见做法是一种愚蠢的迷信,没有事实依据。当然,它确实有效,因为“disabled”也是一个非空字符串,因此它是true
。如果愿意,可以使用null
作为false
值,或者使用数字零
编辑-根据有用的注释修复了
if
语句。只需检查属性的真实性。禁用的属性应具有以下值:禁用的或空字符串,而不是真的和假的
if($('#name').attr('disabled') == 'disabled')
$('#name').attr('disabled', '');
else
$('#name').attr('disabled', 'disabled');
disabled
属性应具有以下值:disabled
或空字符串,而不是true
和false
if($('#name').attr('disabled') == 'disabled')
$('#name').attr('disabled', '');
else
$('#name').attr('disabled', 'disabled');
试试这个:
if($('#name').attr('disabled'))
$('#name').removeAttr("disabled");
else
$('#name').attr("disabled", true);
检查属性是否存在并将其删除,否则将添加属性
if($('#name').attr('disabled'))
$('#name').removeAttr("disabled");
else
$('#name').attr("disabled", true);
$('#checkbox').change(function() {
if ($('#checkbox').is(':checked')) {
$('#name').removeAttr('disabled');
} else {
$('#name').attr('disabled', 'disabled');
}
});
检查属性是否存在并将其删除,否则从jquery 1.6.1>添加属性,而不是使用:
$('#checkbox').change(function() {
if ($('#checkbox').is(':checked')) {
$('#name').removeAttr('disabled');
} else {
$('#name').attr('disabled', 'disabled');
}
});
$("#checkbox").change(function(){
if($("#checkbox").checked)
$("#name").prop("disabled", false);
else
$("#name").prop("disabled", true);
});
i、 e.从jquery 1.6.1>使用prop而不是attr(),而不是使用:
$("#checkbox").change(function(){
if($("#checkbox").checked)
$("#name").prop("disabled", false);
else
$("#name").prop("disabled", true);
});
i、 e.使用prop而不是attr()这是不正确的。重要的是价值的真实性。这是不正确的。重要的是值的真实性。谢谢,它可以工作,但是如果我用这行代替if($('.'name').attr('disabled')==true)谢谢,它可以工作,但是如果我用这行代替if($('.'name').attr('disabled')==true)