JSで簡単なテストを作成しようとしています。 4つのラジオボタンを作成してhtmlに追加する機能があります。私はそれをn
回と呼んだとき、同じ4つのラジオボタンをdiv
に追加して、4番目の質問から1つの回答を選択しようとすると、最初のdiv/questionから答えが選択されます。Javascript変数スコープとの混乱
function getRandom(min, max) {
return Math.random() * (max - min) + min;
}
function test_2() {
var a = getRandom(0, 10) - 5;
while (a == 0)
a = getRandom(0, 10) - 5;
var b = getRandom(0, 10) - 5;
//create the div in which i add the radio buttons
var div = document.createElement('div');
div.setAttribute('class', 'parent');
div.setAttribute('id', '2');
document.body.appendChild(div);
//create the radio button and set its attributes
var radio1 = document.createElement('input');
var label1 = document.createElement('label');
label1.innerHTML = a * 4 + b;
label1.setAttribute('for', 'radio1');
radio1.setAttribute('type', 'radio');
radio1.setAttribute('value', a * 4 + b);
radio1.setAttribute('id', 'radio1');
radio1.setAttribute('name', 'answ');
radio1.innerHTML = a * 4 + b;
//add it to the div
div.appendChild(radio1);
div.appendChild(label1);
}
test_2();
コード例は、質問の関連部分を含むように単純化してください。 –
すべての 'div'と' input [type = radio] '要素には同じ' id'値が与えられています。 'id'はドキュメント内で一意でなければなりません。 –
@ YotamSalmonコードを簡略化する必要はありません。ここでは余計なことはありません。それどころか、シナリオを再現できるように、関連するコードを追加する必要があります。 –