用RadioButtonList1.Attributes.Add("onclick", "Radio_Check('"+RadioButtonList1.SelectedValue+"')");的时候只能获取到默认时候的value,并不随着click事件而变化,请问有什么办法能够获得它的value呢?不用传递参数方法也可以。

解决方案 »

  1.   

    点击html按钮时遍历所有input,如果类型为radio,如果是选中状态,就alert()。
    <script language="javascript" type="text/javascript">
    function getRadioValue()
    {
          var inputs = document.getElementsByTagName("input");
                
          for(var i = 0; i < inputs.length; i++)
          {
              if(inputs[i].type == "radio")
              {
                 var radio = inputs[i];
                 if(radio.checked)
                    alert(radio.value);
              }
           }                        
    }
    </script>
    <asp:RadioButtonList ID="RadioButtonList1" runat="server" 
                DataSourceID="SqlDataSource1" DataTextField="CategoryName" 
                DataValueField="CategoryID" /><input id="Button1" type="button" value="button" onclick="return getRadioValue()" /><asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
                SelectCommand="SELECT [CategoryID], [CategoryName] FROM [Categories]">
    </asp:SqlDataSource>
    对javascript不太熟。
      

  2.   

    如果页面上有两组数据绑定的RadioButtonList,而你只想在RadioButtonList1的范围内取得选中的值。那么我试了一下:<script language="javascript" type="text/javascript">
    function getRadioValue()
    {
       var inputs = document.getElementById('<%= RadioButtonList1.ClientID %>').getElementsByTagName("input");
                
       for(var i = 0; i < inputs.length; i++)
       {
                    if(inputs[i].type == "radio")
                    {
                        var radio = inputs[i];
                        if(radio.checked)
                            alert(radio.value);
                    }
       }  
    }
    </script>
    这样也可以。
    不过,怎样在选中的同时取得radio的值我不会。