通过Row-Javascript获取单选按钮
我必须一行一行地获取radiobuttons,但是这个查询会获取表中的所有收音机通过Row-Javascript获取单选按钮,javascript,Javascript,我必须一行一行地获取radiobuttons,但是这个查询会获取表中的所有收音机 function Check() { var table = document.getElementById("tblMain"); for (var i = 0, row; row = table.rows[i]; i++) { var arrRadios = new Array(); arrRadios = this.document.getElementsByName("radio"); var len =
function Check() {
var table = document.getElementById("tblMain");
for (var i = 0, row; row = table.rows[i]; i++) {
var arrRadios = new Array();
arrRadios = this.document.getElementsByName("radio");
var len = arrRadios.length; //it gives 6 here, when I want 3
}
}
<table id="tblMain">
<tr>
<td>
<input type="radio" name="radio" />1)
<input type="radio" name="radio" />2)
<input type="radio" name="radio" />3)
</td>
</tr>
<tr>
<td>
<input type="radio" name="radio" />1)
<input type="radio" name="radio" />2)
<input type="radio" name="radio" />3)
</td>
</tr>
<asp:Button ID="btn" runat="server"
OnClientClick="return Check()" value="click"/>
</table>
函数检查(){
var table=document.getElementById(“tblMain”);
for(变量i=0,行;行=表。行[i];i++){
var arrroids=新阵列();
arrroids=this.document.getElementsByName(“radio”);
var len=arrroids.length;//当我想要3时,这里给出6
}
}
1)
2)
3)
1)
2)
3)
请通过Javascript建议解决方案为什么不这样做:
var table = document.getElementById("tblMain");
for (var i = 0, row; row = table.rows[i]; i++) {
var arrRadios = new Array();
arrRadios = document.querySelectorAll('#tblMain tr:nth-child(' + (i+1) + ') input[type=radio]');
var len = arrRadios.length;
}
如果您的浏览器不是一个合理的最新版本,这可能不起作用。尽管有不同的解决方案。这是一个接近你所开始的
function Check() {
var table = document.getElementById("tblMain");
for (var i = 0, row; row = table.rows[i]; i++) {
var arrRadios = new Array();
arrRadios = this.document.getElementsByName("radio_"+i);
var len = arrRadios.length; //it gives 6 here, when I want 3
}
}
<table id="tblMain">
<tr>
<td>
<input type="radio" name="radio_0" />1)
<input type="radio" name="radio_0" />2)
<input type="radio" name="radio_0" />3)
</td>
</tr>
<tr>
<td>
<input type="radio" name="radio_1" />1)
<input type="radio" name="radio_1" />2)
<input type="radio" name="radio_1" />3)
</td>
</tr>
<asp:Button ID="btn" runat="server"
OnClientClick="return Check()" value="click"/>
</table>
函数检查(){
var table=document.getElementById(“tblMain”);
for(变量i=0,行;行=表。行[i];i++){
var arrroids=新阵列();
arrroids=this.document.getElementsByName(“radio_u2;”+i);
var len=arrroids.length;//当我想要3时,这里给出6
}
}
1)
2)
3)
1)
2)
3)
有两个更改:通过添加行数重命名收音机
然后,我将为您的循环添加相同的内容,以呼叫该行的收音机。谢谢。这是可行的,但在我的例子中,这些行是动态的,在创建它们时不能命名为35;。