日期:2014-05-17  浏览次数:20529 次

求各位大神指点:获取不确定id和name的radio选择的值
<table><tr><td>家属姓名</td><td><input type='text' name='inputName' /></td><td>证件号码</td><td><input type='text' name='inputSum' /></td><td>性别</td><td><input id='Radio1' type='radio' name='familySex" + j + "' value='男'/>男</td><td><input id='Radio2' type='radio' name='familySex" + j + "' value='女'/>女</td></tr></table>

在.NET程序中我点击按钮显示一个div 并往这个div中写入不确定个数的table,我怎么才能得到多个table中的 单选 radio选择的值;请注意上面的 id和 name都是在变化的。

跪求高手指点;最好用jQuery 解决,别的方法只要有用也行

------解决方案--------------------
JScript code
    <script type="text/javascript">
    //获取DIV下面所有的INPUT对象
        var radioArray = document.getElementById('你的DIV编号').getElementsByTagName('input');
        for(int i=0;i<radioArray.length;i++){
        //筛选出radio对象
            if(radioArray[i].type=='radio'){
                alert(radioArray[i]);
            }
        }
    </script>

------解决方案--------------------
你这样做就只能循环table取值了。

你的做法很奇怪,为什么不固定name?
控件的id是唯一的,你可以动态地生成不重复的id;
name是应该固定的,同一组radio就靠name来标识的

你的一个table就是一条“家属信息”吧,光取到选中radio的值还不够,还要跟这个table关联起来是吧?是靠name='familySex" + j + "'这个j标识的吗?
那么你循环取值之后还要判断这j是不是你想要的

是因为你的内容循环输出的吗?有很多相同的radio组比如这样
HTML code

<!--这个id应该是根据数据库中的一条记录的主键生成的-->
<table id="table5788" class="myClass">
    <tr>
        <td>
            <input type='radio' name='familySex' value='男' checked='checked' />男
            <input type='radio' name='familySex' value='女' />女
        </td>
    </tr>
</table>

<table id="table8787" class="myClass">
    <tr>
        <td>
            <input type='radio' name='familySex' value='男' checked='checked' />男
            <input type='radio' name='familySex' value='女' />女
        </td>
    </tr>
</table>
...

<script type="text/javascript">
    //比如你想取某一条的“性别”选中情况
    $("#table5788 input[name=familySex]:checked").val();
    //或者循环所有的table,这里以class作为选择器
    $("table.myClass").each(function(i,n){
        $(n).find("input[name=familySex]:checked").val();   
    })

    //另外说一句,你应该尝试下以div布局
</script>

------解决方案--------------------
遍历里面的具体业务由你自己决定 请看下面我的小列子:
HTML code

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" 
src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript">
function checks() 
{
    $("input:radio:checked").each(function() { alert(this.value); });
}
</script>
</head>
<body>
<input type="radio" name="testradio" value="jquery获取radio的值"/>jquery获取radio的值<br /> 
<input type="radio" name="testradio1" value="jquery获取checkbox的值" />jquery获取checkbox的值<br /> 
<input type="radio" name="testradio2" value="jquery获取select的值" />jquery获取select的值<br />
<button id="go2" onclick="checks()">遍历所有选中radio的值</button>
</body>
</html>
//如上代码会弹出选中的radio的值