从下拉框中随机选择一个选项,然后单击以激活另一个在 Javascript 中使用 onChange 的函数
Posted
技术标签:
【中文标题】从下拉框中随机选择一个选项,然后单击以激活另一个在 Javascript 中使用 onChange 的函数【英文标题】:Randomly choose an option from the dropdown box and click to activate an another function that uses onChange in Javascript 【发布时间】:2021-11-02 12:20:43 【问题描述】:我将添加一个脚本onChange
链接到此下拉框(id="select-box-1"
),因为当我选择其中一个选项时,它将被激活。
按钮id="botao-do-jogo-aleatorio-1"
从选择框中随机选择一个选项。
但目前当我点击随机选择按钮时,选择栏出现选择的选项,但它没有激活onChange
脚本,因为没有任何操作。
我怎样才能选择复选框但生成点击而不是像.selectedIndex
这样设置值是在做什么?
<html>
<head>
<style>
</style>
<script id="random-number">
function generateRandomIntegerInRange(min, max)
return Math.floor(Math.random() * (max - min + 1)) + min;
</script>
</head>
<body style="background-color:black;">
<div class="row">
<div class="column left">
<form id="jogo-aleatorio-1" action="" method="post">
<button class="button" id="botao-do-jogo-aleatorio-1" style="width: 100%;" onclick="funcao_jogo_aleatorio_1()">Partida Aleatória 1</button>
</form>
<script id="script-da-caixa-de-selecao-suspensa-1">
function funcao_jogo_aleatorio_1()
var btn = document.getElementById('jogo-aleatorio-1');
btn.onclick = function(e)
e.preventDefault();
document.getElementById("select-box-1").selectedIndex = generateRandomIntegerInRange(1, document.querySelectorAll("dl dt").length);
;
</script>
<form action="" method="post" id="formulario-radar-1">
<div id="caixa-suspensa-1">
<input type="text" id="barra-de-texto-para-radar-1" style="width: 283px;">
</div>
</form>
<select id="select-box-1" style="width: 100%;">
<option value="" market=""></option>
<option value="home" market="away">journey</option>
<option value="hotel" market="party">events</option>
</select>
<dl style="color:white;font-weight:bold;;overflow:hidden;overflow-y:scroll;">
<dt>journey</option>
<dt>events</option>
</dl>
</div>
</div>
</body>
</html>
【问题讨论】:
【参考方案1】:这就是答案
let a = document.querySelectorAll(".dl dt");
for (let i = 0; i < a.length; i++)
a[i].addEventListener('click', function()
// code here and use 'this'
;
;
使用 for 循环检查每个输入元素,否则您无法访问它。 然后在// 代码中插入函数、对象或数组,并使用“this”选择器来处理选定的输入。
【讨论】:
嗨@OuterGuy 但是如果下拉框中的选项选择是用随机数完成的,那么在循环中如何定义呢? 抱歉我缺乏知识,但我不知道如何继续。我无法在您的推荐中添加我的代码。 我不明白您的要求,请在您的问题中张贴图片或以更好的方式解释它。 当我使用selectedIndex
从选择框中选择选项时,选择的值在选择框中显示为选中状态。但是当我手动进行此选择时,会出现change
并激活onChange function
。如果我从selectedIndex
中选择,这个onChange
不会被激活。
我的答案是正确的,你需要for循环每个输入,否则你无法访问它。 “onchange”方法不起作用,因为它不是正确的命令。在这里使用 for 循环并在 // 代码中插入函数、对象或数组,并使用“this”处理选定的输入。以上是关于从下拉框中随机选择一个选项,然后单击以激活另一个在 Javascript 中使用 onChange 的函数的主要内容,如果未能解决你的问题,请参考以下文章