2011-08-26 226 views
0

的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打開。

回答

1

您應該使用.change而不是點擊。當複選框發生變化時它會觸發。