【发布时间】:2021-03-30 23:04:35
【问题描述】:
我的问题是我想从 100 个复选框中选择大概 20 个,然后从所选的 20 个中随机选择 10 个。
我已经尝试过 Math.floor(Math.random() 但没有任何运气,如果可能的话,我无法弄清楚如何将两者结合起来
(这是我的第一个问题,希望你能帮忙。谢谢)
function getValue() {
var checks = document.getElementsByClassName('checks');
var str = 'Selected = ' + '<br>';
for (i = 0;
[i] < checks.length; i++) {
if (checks[i].checked === true) {
str += checks[i].value + ", " + "<br>";
}
}
document.getElementById("Selected").innerHTML = str + "end";
}
<button onclick="getValue()">Click me</button>
<div class="prøve">
<div class="option">
<input type="checkbox" class="checks" value="film & animation" />
<label>Film & Animation</label>
</div>
<div class="option">
<input type="checkbox" class="checks" value="science" />
<label>Science & Technology</label>
</div>
<div class="option">
<input type="checkbox" class="checks" value="art" />
<label>Art</label>
</div>
<div class="option">
<input type="checkbox" class="checks" value="music" />
<label>Music</label>
</div>
<div class="option">
<input type="checkbox" class="checks" value="travel" />
<label>Travel & Events</label>
</div>
<div class="option">
<input type="checkbox" class="checks" value="sports" />
<label>Sports</label>
</div>
<div class="option">
<input type="checkbox" class="checks" value="news" />
<label>News & Politics</label>
</div>
<div class="option">
<input type="checkbox" class="checks" value="tutorials" />
<label>Tutorials</label>
</div>
</div>
<div id="Selected">All Selected</div>
【问题讨论】:
-
label元素应该与它们描述的元素相关联。这可以通过使用标签包装输入元素来实现,或者在输入上放置一个id,然后将该id-value 添加到标签的for-attribute 中。另外[i] < checks.length必须是i < checks.length。
标签: javascript html