【问题标题】:Enable inputs after disabled禁用后启用输入
【发布时间】:2021-11-20 12:36:31
【问题描述】:

我想在点击<button class="btn_modifier">MODIFIER</button> 时启用所有这组禁用的输入。请参阅下面我的输入:

stock_array.forEach(function (element) {
    if (element.choix_type == "1") {
        content1 +=
            `<tr>
            <div class="show">
        <td><input type="text" class="input_stock" value="${element.nom}" disabled /></td>
        <td><input type="text" class="input_stock" value="${element.quantite}" disabled /></td>
        <td><input type="number" class="input_stock" value="${element.prix_achat_ht}" disabled /></td>
        <td><input type="number" class="input_stock" value="${element.prix_vente_ht}" disabled /></td>
        <td><input type="number" class="input_stock" value="${element.marge_ht = element.prix_vente_ht - element.prix_achat_ht}" disabled /></td>
        <td><input type="number" class="input_stock" value="${element.prix_ttc = element.prix_vente_ht * 1.2}" disabled /></td>
        <td><input type="text" class="input_stock" value="${element.degre}" disabled  /></td>
        <td>
        </div>
            <div class=btn_div>
                <button class="btn_modifier">MODIFIER</button>
                <button class="btn_delete">X</button>
            </div>
        </td>
        </tr>`
        ba.innerHTML = content1;

    }
}

我已经尝试过了:

let modifier = document.querySelector(".btn_modifier");
let able = document.querySelector(".input_stock");
modifier.addEventListener("click", function () {
    able.disable = false;
})

【问题讨论】:

  • 所以在修改器按钮上点击你想启用所有输入字段类 input_stock?
  • 您更改的属性disable不正确,应该是disabled。此外,您使用的是querySelector,它只会获取与查询匹配的第一个元素,使用querySelectorAll 并循环遍历结果。
  • @DaCurse - 只需修改您的评论:` let modifier = document.querySelectorAll(".btn_modifier"); letable = document.querySelectorAll(".input_stock"); modifier.addEventListener("click", function () { if (able.disabled = true) {able.disabled; } else {able.disabled = true } })` 但是有错误信息“Uncaught TypeError: modifier.addEventListener不是 affichage 的函数 (script.js:168)" –
  • @navnath - 是的。
  • @Jorge_RM by document.querySelectorAll(".btn_modifier"); 您正在选择所有具有btn_modifier 类的按钮。如果你想将 eventListener 添加到所有这些按钮,你可以做[...modifier].forEach.addEventListener但是你想用它做什么? disable 添加未禁用的输入并启用当前禁用的所有输入

标签: javascript button input disabled-input


【解决方案1】:

您应该使用document.querySelectorAll 来获取类input_stock(或getElementsByClassName)的所有元素,并使用循环启用它们中的每一个:

const inputs = document.querySelectorAll('.input_stock');
for (const input of inputs) {
    input.disabled = false;
}

【讨论】:

    【解决方案2】:
    let modifier = document.querySelector(".btn_modifier");
    
    modifier.addEventListener("click", function () {
      let able = document.querySelectorAll(".input_stock");
      // converts NodeList to Array
      [...able].forEach(a => a.disabled = false);
    })
    

    【讨论】:

      猜你喜欢
      • 2015-06-16
      • 2018-06-09
      • 1970-01-01
      • 2010-11-27
      • 2015-07-11
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多