【问题标题】:Trying to enable/disable a textfield on checkbox click尝试在复选框单击时启用/禁用文本字段
【发布时间】:2015-07-21 01:31:18
【问题描述】:

我正在尝试编写一个在复选框被“选中”时禁用的文本字段。

下面是我正在使用的代码。我不知道为什么它不起作用。我怀疑这可能是 WordPress 的错,但我是 Javascript 的新手,所以我希望是这样。

<script type="text/javascript">
$('input[name=AddressCheck]').change(function(){
    if($(this).is(':checked')) {
        $("#dbltext").removeAttr('disabled');
    }
    else{
       $("#dbltext").attr('disabled','disabled');
    }    

});
</script>



<input name="AddressCheck" type="checkbox" id="AddressCheck" /><br />
<input type="text" id="dbltext" disabled/>

【问题讨论】:

  • 所以您在选中复选框时尝试启用文本字段?还是反过来?
  • 当页面加载时,文本字段应该被禁用。一旦复选框被“选中”,文本字段就会被启用。
  • 啊!请参阅下面的答案。我不认为我第一次理解你的问题。对此感到抱歉。

标签: javascript html wordpress checkbox textfield


【解决方案1】:
$(document).ready(function(){
     $('input[name=AddressCheck]').click(function(){
        if($(this).is(':checked')) { 
            $("#dbltext").removeAttr('disabled');
        } 
});

【讨论】:

    【解决方案2】:

    脚本在浏览器看到页面的其余部分之前运行,因此永远找不到元素,所以没有任何东西被绑定

    试试

    $(document).ready(init);
    // or document.addEventListener('DOMContentLoaded', init);
    function init(){
        $('input[name=AddressCheck]').change(function(){
        if($(this).is(':checked')) {
          $("#dbltext").removeAttr('disabled');
        }
        else{
          $("#dbltext").attr('disabled','disabled');
        }
        });
    }
    

    或将脚本移动到正文的末尾

    【讨论】:

      猜你喜欢
      • 2013-07-24
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多