none
求repeater中radiobutton单选的解决方法! RRS feed

  • 问题

  • 求repeater中radiobutton的解决方法!谢谢了,网上找了很多,都是不能用的,用js,不能用的满天传,用input,那我后台怎么取值,赋值啊!先谢谢各位了!
    2012年9月19日 2:00

答案

  • 你写这样一个jQuery:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="CSharp.WebForm1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
     <script src="http://code.jquery.com/jquery-1.8.1.js" type="text/javascript">
     </script>
        <script type="text/javascript">
            $(function ()
            {
                $(":radio").click(function ()
                {
                    //全部清空
                    $(":radio").attr("checked", false);
                    //当下的那个设置成选中状态
                    $(this).attr("checked", true);
                    //把选中的东西赋值给隐藏域
                    $('#<%=hdRadioVAlue.ClientID%>').attr("value", $(this).next().text());
                });
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
    
            <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <asp:RadioButton ID="RadioButton1" runat="server" Text='<%#"选择我"+(Container.ItemIndex+1) %>'  Checked="false"/>
                </ItemTemplate>
            </asp:Repeater>
    
            <asp:HiddenField ID="hdRadioVAlue" runat="server" Value="0" />
            <asp:Button ID="Button1" runat="server" Text="看选了谁?" OnClick="Button1_Click" />
        </div>
        </form>
    </body>
    </html>
    
    【后台】
    public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Repeater1.DataSource = new int[] { 1,2,3,4,5};
                    Repeater1.DataBind();
                }
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                ClientScript.RegisterStartupScript(GetType(), "js", "alert('" + hdRadioVAlue.Value + "')", true);
            }
    
        }

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年9月19日 2:44

全部回复

  • 你写这样一个jQuery:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="CSharp.WebForm1" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
     <script src="http://code.jquery.com/jquery-1.8.1.js" type="text/javascript">
     </script>
        <script type="text/javascript">
            $(function ()
            {
                $(":radio").click(function ()
                {
                    //全部清空
                    $(":radio").attr("checked", false);
                    //当下的那个设置成选中状态
                    $(this).attr("checked", true);
                    //把选中的东西赋值给隐藏域
                    $('#<%=hdRadioVAlue.ClientID%>').attr("value", $(this).next().text());
                });
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
    
            <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <asp:RadioButton ID="RadioButton1" runat="server" Text='<%#"选择我"+(Container.ItemIndex+1) %>'  Checked="false"/>
                </ItemTemplate>
            </asp:Repeater>
    
            <asp:HiddenField ID="hdRadioVAlue" runat="server" Value="0" />
            <asp:Button ID="Button1" runat="server" Text="看选了谁?" OnClick="Button1_Click" />
        </div>
        </form>
    </body>
    </html>
    
    【后台】
    public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Repeater1.DataSource = new int[] { 1,2,3,4,5};
                    Repeater1.DataBind();
                }
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                ClientScript.RegisterStartupScript(GetType(), "js", "alert('" + hdRadioVAlue.Value + "')", true);
            }
    
        }

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年9月19日 2:44
  • 谢谢了!我也用了后台输出html解决了!谢谢!
    2012年9月20日 0:44
  • 谢谢了!我也用了后台输出html解决了!谢谢!
    不用谢!欢迎再来,互帮互助

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年9月20日 3:22