【问题标题】:Onclick document element disabled permanently?Onclick 文档元素永久禁用?
【发布时间】:2013-04-03 05:37:48
【问题描述】:

您好,我正在尝试操作一个复选框。如果选中此复选框,其余复选框将被禁用。到目前为止我所拥有的作品。除非您取消选中它。复选框仍然被禁用。我可能正在寻找一种方法来取消选中 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)?> />

【问题讨论】:

  • 尝试使用onchange 而不是onclick
  • document.getElementById('Gala').checked = document.getElementById('Gala').disabled = this.checked;怎么样
  • 谢谢大卫!!!!你救了我(@.o)b
  • 很高兴能帮上忙!

标签: javascript html


【解决方案1】:
 <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 根本不是一个很好的做法。

【讨论】:

  • 这确实是更干净的方法!
【解决方案2】:

现场演示: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> 

【讨论】:

  • 如果您先检查一个然后检查另一个,另一个显示为已禁用但已在您的演示中检查
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多