2013-04-27 106 views
0

嘿家伙即时尝试弄清楚如何确定哪个单选按钮被选中使用只有JavaScript ...我知道这将是更容易使用一些jQuery,但我会认为JavaScript的现在..我知道我可以通过名称获取元素的值(getElementsByName)并从那里确定它。但不知何故它不工作....这里是我的JS小提琴 http://jsfiddle.net/sean3200/LdNCT/而下面是我的代码示例...谢谢!如何确定哪个单选按钮被选中使用Javascript

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)       
        } 
       }; 
+0

会造成什么样的元素,从'EL =使用document.createElement(” EL“)'? – RobG 2013-04-27 14:49:48

+0

@RobG - el元素包含输入元素(li),然后将其附加到文档主体。 - >>> el.appendChild(il) – 2013-04-27 14:54:47

+0

对不起,我当时是傻傻的。 * createElement *的参数应该是一个标签名称,“el”不是HTML文档中的有效标签名称。 – RobG 2013-04-27 14:56:32

回答

0

演示:http://jsfiddle.net/LdNCT/2/

你没有事件监听你的单选按钮,我添加了一个现在的工作

radios[i].addEventListener('change', function() { 
    alert(this.value); 
}); 
+0

非常感谢@ XCritics !!! – 2013-04-27 20:13:03

相关问题