Hey Guys im trying to figure out how to determine which radio button was selected using only javascript... I know it would be easier using some jquery, but i would perfer javascript for now.. I know I can get the value of an element by name (getElementsByName) and determine it from there. But somehow it isnt working....Here is my JS Fiddle http://jsfiddle.net/sean3200/LdNCT/ And Below is mycode example... Thanks!!!!
var questions = {
allQuestions : [
{
topQuestion:["Click on which producer produced Justins Timberlake 4th Album?", "What was the first disney movie Justin Timberlake firsr scored?", "What famous celebrity did Justin Timberlake dated ?", "Star Wars"],
},
{
question: "Select which movie did Justin Timberlake film score in 2008?",
choices:["Shark Tank", "The Incredibles", "Finding Memo", "Star Wars"],
correctAnswer:3
},
{
question:"What city was Justin Timberlake born in?",
choices: ["Chicago", "Detroit", "Tenessee", "New York"],
correctAnswer:3
},
{
question:"At the age of 11, what famous show did Justin Timberlake appeared on?",
choices: ["American Idol", "Family Fued", "Star Search", "The Voice"],
correctAnswer:3
},
{
question:"What hit single did Justin Timberlake perform at the MTV Awards in 2002",
choices: ["Sexy Love", "Cry Me A River", "Like I Love You", "What Comes Around"],
correctAnswer:3
},
{
question:"What boy band was Justin Timberlake apart of?",
choices: ["One Direction", "Black Street Boys", "98 Degrees", "NSync"],
correctAnswer:4
}
]
};
var newQues = Object.create(questions);
for (var i = 0; i < 4; i++){
container = document.getElementById("container");
list = document.getElementById("list");
var li = document.createElement("input");
li.type = 'radio';
li.name= 'radio_group';
li.id = 'id1';
li.value = newQues.allQuestions[1].correctAnswer;
document.body.appendChild(li);
el = document.createElement("div");
text = document.createTextNode(newQues.allQuestions[1].choices[i])
list.appendChild(el);
el.appendChild(li);
el.appendChild(text);
}
var radios = document.getElementsByName("radio_group");
for (var i = 0; i < radios.length; i++) {
if (radios[i].checked) {
alert(radios[i].value)
}
};
Demo: http://jsfiddle.net/LdNCT/2/
You have no eventListener for your radio buttons, I added one it works now
radios[i].addEventListener('change', function() {
alert(this.value);
});