无法通过[selector]启用/禁用复选框.attr& .removeattr

时间:2014-01-28 21:27:54

标签: javascript jquery checkbox

小提琴:

http://jsfiddle.net/KU29Q/1/

目标是能够动态启用和禁用复选框。我试过引用相关复选框的类和/或id,然后使用.attr(“disabled”,“disabled”)或.removeAttr(“disabled”)

<input id="check" type="checkbox" disabled="disabled" class="enableDisable"><label for="check2" >Initially Disabled</label>
<input id="check2" type="checkbox"  class="enableDisable"><label for="check2" >Initially Enabled</label>

//attempt to ENABLE checkbox1
$("check").removeAttr('disabled');

//attempt to change state of second checkbox - DISABLE it...
$(".enableDisable").attr("disabled","disabled");
$("#check2").attr("disabled", "disabled");

也试过玩[selector] .prop无济于事。有人可以给我一个正确的方向和/或打我的脸来缓解我的agita?

感谢。

2 个答案:

答案 0 :(得分:1)

<强> JSFIDDLE DEMO

  1. 使用.prop()代替.attr()
  2. 对于定位ID,请使用#(哈希)
  3. 对于课程,请使用.(点)
  4. //attempt to ENABLE checkbox1

    $("#check").prop('disabled', false);

    //attempt to change state of second checkbox - DISABLE it...

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

答案 1 :(得分:0)

1。您需要在小提琴中加入jQuery

2。您的类适用于这两个元素,因此当您将其用作禁用选择器时,您将禁用这两个元素:

$(".enableDisable").attr("disabled","disabled");

您应该只使用(唯一)ID并删除类选择器行:

$("#check").removeAttr('disabled');
$('#check2').attr('disabled', 'disabled');

您的更新小提琴:http://jsfiddle.net/KU29Q/2/