(通过使用 JAVASCRIPT)在我的应用程序中,我有多个复选框(假设 10 个框)。当我要单击像幸运抽奖这样的按钮时,它必须自动选择 6 个随机复选框。当我再次单击同一个按钮时,我想从第一个值之外的 10 个初始值中获得不同的 6 个值。我可以从 10 个复选框中选中 6 个框(不是不同的值)。
你能给我一些建议吗?
(通过使用 JAVASCRIPT)在我的应用程序中,我有多个复选框(假设 10 个框)。当我要单击像幸运抽奖这样的按钮时,它必须自动选择 6 个随机复选框。当我再次单击同一个按钮时,我想从第一个值之外的 10 个初始值中获得不同的 6 个值。我可以从 10 个复选框中选中 6 个框(不是不同的值)。
你能给我一些建议吗?
这是一个检查 6 个随机复选框的纯 Javascript 示例:
function getRand(exclude, max)
{
var dupe = true;
var myRandom;
while(dupe)
{
myRandom = Math.floor(Math.random() * max);
var found = false;
for(var i=0;i<exclude.length; i++)
{
if(myRandom == exclude[i])
{
found = true;
}
}
if(!found) dupe = false;
}
return myRandom;
}
window.onload = function(){
document.getElementById("lucky").onclick = function(){
var checkboxList = document.getElementsByName("something[]");
var rands = [];
var total = 6;
for(var j=0; j<checkboxList.length; j++){ checkboxList[j].checked = false; }
for(var i=0; i<total; i++)
{
var myRandom = getRand(rands, checkboxList.length);
rands.push(myRandom);
}
for(var x=0; x<rands.length; x++)
{
checkboxList[rands[x]].checked = true;
}
};
};
以下是您需要执行的步骤,(使用 jQuery)
第 1 步:将 10 个checkbox
id 存储在一个数组中。
第 2 步:打乱数组
for loop
第 3 步:使用直到 6 个值和check
复选框循环洗牌数组