单击chceckbox时,切换启用并禁用div中的所有输入

时间:2018-03-02 14:48:49

标签: javascript html checkbox disabled-input

我正在尝试在单击chceckbox时删除每个输入处禁用的属性。我能够打开这些输入,但是我将它们关闭时会出现问题。

     <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);
    }

1 个答案:

答案 0 :(得分:1)

你应该用

代替x[y].disabled = false;

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

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