javascript - 如果我有 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>
我希望单击任何按钮并将其发送到第一个空输入,然后第二次单击不同的按钮转到第二个空输入等等..
解决方案
假设您分别拥有myButtons
和myInputs
作为按钮和输入的数组,您可以:
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] find
:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/ find`
推荐阅读
- shell - 在 Shell 脚本中执行并存储结果
- r - 向数据框添加一列,跳过粘贴 -
- mysql - 如何从 mysql 查询中获取数据结果以及查询返回的行数?
- php - 使用 Google Maps API 生成随机地址
- angular - 使用验证器创建自定义 FormControl
- reporting-services - 通过 ODBC 连接在 SSRS 中调用 Oracle 存储过程
- html - 如何在 html 代码中显示“您的广告”图像?(对于网站)
- angular - 角材料单选按钮样式不起作用
- python - python - 如何从python列表中调用具有某些关键字的特定元素?
- c# - 在 C# 应用程序中使用 Azure REST API 显示没有响应