jQuery的启用/禁用复选框

问题描述:

的jsfiddle:http://jsfiddle.net/KUcrm/jQuery的启用/禁用复选框

我有这样的代码:

HTML

<input id="Check1" type="checkbox" name="ckbRG" tabindex="1" checked /><label for="Check1"> Check1</label><br /> 
<input name="txt1" type="text" maxlength="10" id="txt1" tabindex="2" /> 
<br /><br /><br /> 
<input id="Check2" type="checkbox" name="ckbNome" tabindex="3" checked /><label for="Check2"> Check2</label><br /> 
<input name="txt2" type="text" maxlength="10" id="txt2" tabindex="2" /> 

的jQuery

$("#Check1").click(function() { 
    if ($("#Check1").attr("checked")) { 
     $("#txt1").removeAttr("disabled"); 
    } else { 
     $("#txt1").attr("disabled", "disabled"); 
    } 
}); 


$("#Check2").click(function() { 
    if ($("#Check2").attr("checked")) { 
     $("#txt2").removeAttr("disabled"); 
    } else { 
     $("#txt2").attr("disabled", "disabled"); 
    } 
    $("#Check1").click(); 
}); 

通过选择CHECK2,CHEC也应选择k1,但显然Ckeck1上的点击事件在Check1更改状态(标记/未标记)之前运行。然后,当Check1被选中时,txt1关闭,未被选中时txt1打开。

我想你想:

$("#Check1").click().triggerHandler('click');

http://jsfiddle.net/KUcrm/3/

您应该使用.change而不是点击。当复选框发生变化时它会触发。