2015-05-14 72 views
0

我有5个单选按钮如何插入选定的单选按钮值转换成表格单元格

<input type="radio" id="rating">1 
<input type="radio" id="rating2">2 
<input type="radio" id="rating3">3 
<input type="radio" id="rating4">4 
<input type="radio" id="rating5">5 

我有一个表

<table id="myTableData" border="1" style="width:100%"> 
<tr id="templateRow"> 
      <th>Ratings</th> 
     </tr> 
</table> 

之一添加按钮

<input type="button" id="add" value="Add" onclick="addRadioValue()"> 

我写代码动态添加行到表中,但是当我选择一个单选按钮,然后单击添加按钮时,所选弧的值io按钮应该插入到表格评分中的新单元格中。

我能够为文本框做这件事,但我无法做到单选按钮。 任何人都可以帮助我吗?

+1

显示您的整个代码和html – renakre

+0

使用http://jsfiddle.net/创建演示 –

+1

您的单选按钮此刻没有值。添加一个值。 ' 1' –

回答

0

你的问题是你没有在收音机上设置name,并且你试图用get ID语句获取选定的收音机。您实际上需要通过名称获取无线电元素,并执行一个循环来检查选定的元素。

工作的jsfiddle:http://jsfiddle.net/cv4u0nf9/4/

环路我插入

var ratings = document.getElementsByName("rating"); 
for (var i=0; i<ratings.length; i++) { 
    if (ratings[i].checked) { 
     rating = ratings[i]; 
    } 
} 
1

可以使用querySelector('input[name="rating"]:checked')

Java脚本的

function addRow() { 

    var myName = document.getElementById("name"); 
    var auther = document.getElementById("auther"); 
    var publish = document.getElementById("publish"); 
    var rating = document.querySelector('input[name="rating"]:checked'); 
    var table = document.getElementById("myTableData"); 

    var rowCount = table.rows.length; 
    var row = table.insertRow(rowCount); 

    row.insertCell(0).innerHTML=count ; 
    row.insertCell(1).innerHTML= myName.value; 
    row.insertCell(2).innerHTML= auther.value; 
    row.insertCell(3).innerHTML= publish.value; 
    if(rating.checked) 
     row.insertCell(4).innerHTML= rating.value; 
    else 
     row.insertCell(4).innerHTML= ""; 
    count=count+1; 
} 

这里是我的Demo