如果我有45个按钮(数字),并且必须选择6个数字,那么如何使6个单击的按钮转到6个输入数字,即我对按钮的每次单击将其发送到输入类型编号
我单击了第一个按钮,然后执行了将输入id =“ chk1”调用到第一个收件箱innerHTML.value =“”的功能,但是如何使第二个单击的按钮转到第二个输入? / p>
21 22
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Something</title>
<link rel="stylesheet" href="index.css" />
</head>
<body>
<div class="js-clock">
<h1>00:00</h1>
</div>
<form class="js-form form">
<input type="text" placeholder="What is your name?" />
</form>
<h4 class="js-greetings greetings"></h4>
<script src="clock.js"></script>
<script src="greetings.js"></script>
</body>
</html>
我希望单击任意按钮并将其发送到第一个空输入,然后第二次单击不同的按钮进入第二个空输入,依此类推。
答案 0 :(得分:0)
假设您分别将myButtons
和myInputs
作为按钮和输入的数组,则可以:
1)使用addEventListener
将事件侦听器附加到每个按钮并检测点击;和
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`