0

嗨,我正在尝试操作一个复选框。如果选中此复选框,其余复选框将被禁用。到目前为止我所拥有的作品。除非您取消选中它。复选框仍然被禁用。我可能正在寻找一种方法来取消选中 disabled false 。

 <input name="Package" type="checkbox" id="Package" on   onClick="document.getElementById('Gala').checked = this.checked; document.getElementById('Gala').disabled=true; " value="1" maxlength="1" <?=($fullPackageYes)?> />
4

2 回答 2

2
 <input name="Package" onclick="disable_checkboxes(this)" type="checkbox" id="Package" value="1" maxlength="1" <?=($fullPackageYes)?> />

<script>
function disable_checkboxes(ele){

    if(ele.checked == 'checked'){
        document.getElementById('Gala').checked = 'checked'; 
        document.getElementById('Gala').disabled='disabled';
    }else {
        document.getElementById('Gala').checked = ''; 
        document.getElementById('Gala').disabled='';   
    }
 }
 </script> 

显然,@david 解决了您的问题,但是我强烈建议您将其切换为更像上述代码的内容,内联 javascript 根本不是很好的做法。

于 2013-04-02T21:14:53.223 回答
0

现场演示:JSFIDDLE

<input id="package" name="Package" type="checkbox" id="Package" value="1" maxlength="1" <?=($fullPackageYes)?> checked />

<input type="checkbox" id="Gala" value="1" maxlength="1"/> Gala

<script>
var Gala = document.getElementById('Gala');

document.getElementById('package').onclick=function(){
    Gala.disabled = this.checked ? "" : "disabled";
    Gala.checked = this.checked ? Gala.checked : "";
}
</script> 
于 2013-04-02T21:22:30.450 回答