复选框状态更改无效

时间:2014-08-24 16:11:12

标签: javascript jquery checkbox

在下面的代码中,最初复选框未选中,文本框已禁用。当我单击复选框然后启用文本框但启用后,当我再次取消选中复选框时,需要禁用它。但该部分不起作用(否则部分) 代码

 $(function(){
    $("#txtres").attr("disabled", "disabled");
    $("#txtres2").attr("disabled", "disabled");

    $("#chknew").click(function () {
        if("#chknew").is(:checked)
        {
        $("#txtres").removeAttr("disabled");
        $("#txtres2").removeAttr("disabled");
        }
      else
      {
         $("#txtres").attr("disabled", "disabled");
         $("#txtres2").attr("disabled", "disabled");
        }
    });
    }

3 个答案:

答案 0 :(得分:1)

您可以使用“更改”处理程序

来实现它
$(function(){
   $("#txtres").attr("disabled", "disabled");
   $("#txtres2").attr("disabled", "disabled");

$('#chknew').change(function () {
   if ($(this).is(":checked")) {
       $("#txtres").removeAttr("disabled");
       $("#txtres2").removeAttr("disabled");
   } else {
       $("#txtres").attr("disabled", "disabled");
       $("#txtres2").attr("disabled", "disabled");
   }
  });
});

答案 1 :(得分:0)

要再次禁用它,请像bellow一样说

$("#txtres").prop("disabled", true);

而不是

$("#txtres").attr("disabled", "disabled");

答案 2 :(得分:0)

$(function(){
    $("#txtres").attr("disabled", "disabled");
    $("#txtres2").attr("disabled", "disabled"); 
    $("#chknew").click(function () {    
        $("#txtres").attr("disabled", !this.checked);
        $("#txtres2").attr("disabled", !this.checked);          
    });
});

演示:

http://jsfiddle.net/w2jtg1b9/3/