2015-08-21 6 views
1

Я очень новичок в javascript и в настоящее время имею задачу сделать многопользовательский вопрос с перетасовкой параметров ответа (используя радиообъект, чтобы выбрать ответ и массив перетасовки). Я успешно создал массив перетасовки, используя следующий код.Вставка javascript внутри тегов ярлыков html

<script> 
var array = ['Coding','programming','debugging','maintenance']; 
var i = array.length, j, temp; 

while (--i > 0) { 


j = Math.floor(Math.random() * (i+1)); 
temp = array[j]; 
array[j] = array[i]; 
array[i] = temp; 
} 


document.write(array); 
</script> 

Однако, я не могу понять, как сделать вывод массива и поместить его в HTML-коде, рекомендованный мне, чтобы сделать радио-кнопку для выбора.

<input type="radio" name="q1" id="q1a"/> 
<label for="q1b">'array 1 option would go here'</label> 

Я вполне мог быть на совершенно неправильном пути, но любая помощь будет оценена!

ответ

1

Вы можете получить метку и установить ее содержание, как

var array = ['Coding', 'programming', 'debugging', 'maintenance']; 
 

 
var cp = array.slice(0), 
 
    i = 0, 
 
    j; 
 
while (i++ < array.length) { 
 
    var j = Math.floor(Math.random() * cp.length); 
 
    document.querySelector('label[for="q' + (i) + 'b"]').innerHTML = cp[j]; 
 
    cp.splice(j, 1); 
 
}
<input type="radio" name="q1" id="q1a" /> 
 
<label for="q1b">'array 1 option would go here'</label> 
 
<input type="radio" name="q1" id="q2a" /> 
 
<label for="q2b">'array 1 option would go here'</label> 
 
<input type="radio" name="q1" id="q3a" /> 
 
<label for="q3b">'array 1 option would go here'</label> 
 
<input type="radio" name="q1" id="q4a" /> 
 
<label for="q4b">'array 1 option would go here'</label>

+0

http://jsfiddle.net/arunpjohny/49Lzwdq0/ –

1

Общим и простым способом обойти это присвоение элемента, который вы хотите поместить, в текст id, например #label_q1b. Затем изменить его .innerText:

<label id="label_q1b" for="q1b"></label> 

Затем в последней строке, кроме document.write сделать:

document.getElementById("label_q1b").innerText = array; 

Fiddle Example

0

Вы можете запустить код JavaScript в ярлыке, как показано ниже.

<label> 
<script> 
document.write("test"); 
</script> 
</label> 
Смежные вопросы