简体   繁体   中英

checked html radio button id from asp.net repeater

I am trying to reach html radio buttons id and one more value which are in asp repeater here is my code:

<asp:Repeater runat="server" ID="rpt_Departure_Schedule">
    <ItemTemplate>
        <tr class="schedules  <%#disable_Class (Eval("Seat_Count")) %>" data-schedule="Departure" data-route_class_id="<%#Eval("Flight_ID") %><%#Eval("Ticket_Price_Name_Sub_ID") %>" data-section="Schedule">
            <td class="schedules-selection ui-tablecolumn-global-schedules">
                <span class="uroute_class_id radio ui-sprite-global" data-schedule="Departure" data-active="<%#Eval("Seat_Count") %>">
                    <input id="<%#Eval("Schedule_Number") %>" type="radio" name="radDepartureRoute_Class_ID" value="<%#Eval("Schedule_ID") %><%#Eval("Ticket_Price_Name_Sub_ID") %>" /></span>
            </td>
            <td class="schedule "><%#Eval("Schedule_Number") %></td>
            <td class="date "><%#Eval("Date") %></td>
            <td class="departure-time "><%#Eval("Time") %></td>
            <td class="departure-location "><%#Eval("Departure_Code") %></td>
            <td class="schedule-class "><%#Eval("Ticket_Price_Name_Sub_ID") %></td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

How can I reach selected radio button's id and <td class="schedule-class "><%#Eval("Ticket_Price_Name_Sub_ID") %></td> value that selected row?

I would suggest to use JQuery to achieve the same functionality with good performance.

Call Javascript method when radio button clicked as mentioned below :

<asp:Repeater runat="server" ID="rpt_Departure_Schedule">
    <ItemTemplate>
        <tr class="schedules  <%#disable_Class (Eval("Seat_Count")) %>" data-schedule="Departure" data-route_class_id="<%#Eval("Flight_ID") %><%#Eval("Ticket_Price_Name_Sub_ID") %>" data-section="Schedule">
            <td class="schedules-selection ui-tablecolumn-global-schedules">
                <span class="uroute_class_id radio ui-sprite-global" data-schedule="Departure" data-active="<%#Eval("Seat_Count") %>">
                    <input id='<%#Eval("Schedule_Number") %>' type="radio" name="radDepartureRoute_Class_ID" value="<%#Eval("Schedule_ID") %><%#Eval("Ticket_Price_Name_Sub_ID") %>" onclick="GetValues(this)" /></span>
            </td>
            <td class="schedule "><%#Eval("Schedule_Number") %></td>
            <td class="date "><%#Eval("Date") %></td>
            <td class="departure-time "><%#Eval("Time") %></td>
            <td class="departure-location "><%#Eval("Departure_Code") %></td>
            <td class="schedule-class "><%#Eval("Ticket_Price_Name_Sub_ID") %></td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

and get and set the values in javascript as mentioned below :

  function GetValues(control) {
            var Schedule_Number = control.value;
            var subject_Id = $(control).closest('tr').children('td')[5].innerText;
        }

Now you can use Schedule_Number and subject_Id

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    //write your code here.... for radiobutton select

}

in the .aspx page : use the asp:radioButton Html control.

<asp:Repeater runat="server" ID="rpt_Departure_Schedule" OnItemDataBound="rpt_Departure_Schedule_ItemDataBound">
    <HeaderTemplate>
        <table>
    </HeaderTemplate>
    <ItemTemplate>
        <tr class="schedules" data-schedule="Departure" data-route_class_id="" data-section="Schedule">
            <td class="schedules-selection ui-tablecolumn-global-schedules">
                <span class="uroute_class_id radio ui-sprite-global" data-schedule="Departure" data-active="">
                    **<asp:RadioButton ID="radDepartureRoute_Class_ID" runat="server" />**
                </span>
            </td>
            <td class="schedule "></td>
            <td class="date "></td>
            <td class="departure-time "></td>
            <td class="departure-location "></td>
            <td class="schedule-class "></td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

In the code behind :

    protected void rpt_Departure_Schedule_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
            var myCheckbox = (RadioButton)e.Item.FindControl("radDepartureRoute_Class_ID");

        } 
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM