天天看点

Js得到radiobuttonlist选中值的两种方法

<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="ajaxselect.OnmouseTitle.WebForm1" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<HTML>

    <HEAD>

        <title>WebForm1</title>

        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">

        <meta content="C#" name="CODE_LANGUAGE">

        <meta content="JavaScript" name="vs_defaultClientScript">

        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">

        <script language="javascript">

         function getvalue()

        {

        var b=document.all.rbtid.length

        var a=document.getElementById("rbtid").cells.length;

        //alert(b);结果为5

        //alert(a);结果为4

        //for(var i=0;i<b-1;i++)这样也行

        for(var i=0;i<a;i++)

        {

          var ss="rbtid_"+i;

          var aa=document.getElementById(ss).value;

          //if(eval('document.all.rbtid_'+i).checked==true) //这样也行 eval()函数能将数据符串转成js运行

          var bb=document.getElementById(ss);

          if(document.getElementById(ss).checked) //注意checked不能写成Checked,要不然不成功

           {

                  alert(aa);

                  break;

           }     

        }

        }

或者用第二种方法:

 //得到radiobuttonlist

      var vRbtid=document.getElementById("rbtid");

      //得到所有radio

      var vRbtidList= vRbtid.getElementsByTagName("INPUT");

      for(var i = 0;i<vRbtidList.length;i++)

      {

        if(vRbtidList[i].checked)

        {

           var text =vRbtid.cells[i].innerText;

           var value=vRbtidList[i].value;

           alert("选中项的text值为"+text+",value值为"+value);

        }

      }

此方法中,RadioButtonList在客户端被看成成了table,通过getElementsByTagName("INPUT")方法获取它的所有子radio,然后循环每个radio,再通过cells获取radio的text值。

        </script>

    </HEAD>

    <body MS_POSITIONING="GridLayout">

        <form id="Form1" method="post" runat="server">

            <FONT >

                <asp:radiobuttonlist id="rbtid" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"

                    Width="216px" Height="176px" name="rbtid">

                    <asp:ListItem Value="0">0</asp:ListItem>

                    <asp:ListItem Value="1" Selected>1</asp:ListItem>

                    <asp:ListItem Value="2">2</asp:ListItem>

                    <asp:ListItem Value="3">3</asp:ListItem>

                </asp:radiobuttonlist><INPUT style="Z-INDEX: 102; LEFT: 184px; POSITION: absolute; TOP: 256px" οnclick="getvalue()"

                    type="button" value="Button"></FONT>

        </form>

    </body>

</HTML>

继续阅读