1

チェックボックスで選択された数字のみを含む配列を作成するには、jqueryが必要です。math.randomつまり、チェックされていない回答を除外する必要があります。この問題を乗り越えると、チェックボックスが増えるでしょう

if ($('#check1') .is(':checked')) {
    var nrI = "1";
} else {
    var nrI = "";
}
if ($('#check2').is(':checked')) {
    var nrII = "2";
} else {
    var nrII = "";
} 

var numbrid = [nrI,nrII];

if (nrI + nrII == 0) {
    var numRand = Math.floor((Math.random()*2)+1);
} else {
    var numRand = Math.floor((Math.random()*numbrid.length)+1);
}   
$("#number") .text(numRand);
4

1 に答える 1

1

試す

var numbrids = $('input[id^="check"]:checked').map(function(index, el) {
    return $(el).attr('id').substring(5);
});

if (numbrids.length) {
    var numRand = Math.floor((Math.random() * numbrids.length) + 1);
} else {
    var numRand = Math.floor((Math.random() * 2) + 1);
}
$("#number").text(numRand);

質問の 2 番目の部分、つまり何をしたいのかわかりませんnumbrids

デモ:フィドル

あなたの要件が@AndyRayコメントと同じなら

var numbrids = $('input[id^="check"]:checked').map(function(index, el) {
    return $(el).attr('id').substring(5);
}), numRand;

if (numbrids.length) {
    numRand = numbrids [Math.floor((Math.random() * numbrids.length))];
} else {
    numRand = 0;
}
$("#number").text(numRand);

デモ:フィドル

于 2013-04-10T06:22:17.673 に答える