首页 > 解决方案 > 如果我有 45 个按钮(数字)并且我必须选择 6 个数字,我怎样才能让我点击的 6 个按钮转到我的 6 个输入数字

问题描述

如果我有 45 个按钮(数字)并且我必须选择 6 个数字,我怎样才能让我点击的 6 个按钮转到我的 6 个输入数字,也就是说,每次点击一个按钮,将此值发送到输入类型数字

我点击了第一个按钮,我做了调用输入id =“chk1”到第一个收件箱innerHTML.value =“”的功能,但是如何让第二个点击的按钮转到第二个输入?

21 22

    <script type="text/javascript">
         function botonear() {
          document.getElementById("chk1").value= 21;
         }
          function botonear2() {
          document.getElementById("chk2").value= 22;
         }
       </script>

我希望单击任何按钮并将其发送到第一个空输入,然后第二次单击不同的按钮转到第二个空输入等等..

标签: javascripthtml

解决方案


假设您分别拥有myButtonsmyInputs作为按钮和输入的数组,您可以:

1)使用 usingaddEventListener将事件监听器附加到每个按钮并检测点击;和

2)用于array.prototype.find查找您的第一个空输入并更新其值。

myButtons.forEach((button, i) =>
    button.addEventListener('click', () => {
      let firstEmptyInput = myInputs.find(input => !input.value);
      if (firstEmptyInput)
        firstEmptyInput.value = i;
    }));

[1] addEventListener https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

[2] findhttps ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/ find`


推荐阅读