Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在复选框未选中/选中时尝试启用/禁用输入文本_Jquery - Fatal编程技术网

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)