【问题标题】:Toggle enabled&disabled all inputs in div when chceckbox clicked单击复选框时切换启用和禁用 div 中的所有输入
【发布时间】:2018-08-10 19:28:07
【问题描述】:

我试图在单击复选框时删除每个输入处禁用的属性。我能够打开这些输入,但我无法将它们关闭。

     <div class='single-service-<?php echo $row["id"]; ?>'>
      <input type='checkbox'>
      <label><?php printf ("%s", $row["service_name"]); ?></label>
      <label>Ilość:</label><input type="number" name="quantity" value="<?php echo $row["quantity"]; ?>" placeholder='ILOŚĆ' disabled/>
      <label>Cena netto:</label><input type="number" name="net_price" value="<?php echo $row["net_price"]; ?>" placeholder='CENA NETTO' disabled/>
    </div>


    var checkboxes = document.querySelectorAll("input[type='checkbox']");

    for(var i=0; i < checkboxes.length; i++) {
      checkboxes[i].addEventListener('click', function() {
        var div = this.parentNode;
        var x = div.childNodes;
        for(y=0; y < x.length; y++) {
          x[y].disabled = false;
        }
      }, false);
    }

【问题讨论】:

  • 你试过x[y].disabled = !x[y].disabled;吗?
  • 它还会在单击时禁用我的复选框

标签: javascript html checkbox disabled-input


【解决方案1】:

你应该用

替换 x[y].disabled = false;

if(x[y].type === "number") x[y].disabled = !x[y].disabled;

或者如果您想禁用所有输入,包括您的复选框,只需使用 x[y].disabled = !x[y].disabled;

【讨论】:

  • 现在我尝试将“名称”切换为选中复选框,因为我需要将所有选项推送到 php 中的数组
猜你喜欢
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 1970-01-01
  • 2018-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
相关资源
最近更新 更多