如何根据所选的单选按钮找到特定列的值? (jquery)
问题描述:
我正在与一个ASP.Net webforms和我有问题检索未链接到单选按钮的datagrid值。基本上我想使用jquery检索与选定单选按钮位于同一行的特定列值(可以说例如:人员的SSN)。目前单选按钮是为了检索报告。我会如何去做这件事?下面是如何设置datagrid。如何根据所选的单选按钮找到特定列的值? (jquery)
<asp:Content ID="Content2" ContentPlaceHolderID="content" runat="server">
<div class="confirmation">
<div class="row confirmation-content">
<div class="col-sm-12" style="height: 340px; overflow-y: scroll;">
<asp:DataGrid ID="dgReports" CssClass="table table-condensed table-striped table-bordered grid" runat="server" PageSize="25"
OnItemDataBound="dgReports_ItemDataBound" DataKeyField="ReportId" OnSortCommand="dgReports_Sort" AllowSorting="True" Width="100%" AllowPaging="False"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn SortExpression="FullName" HeaderText="Borrower" HeaderStyle-CssClass="col-sm-6"
ItemStyle-CssClass="col-sm-6">
<ItemTemplate>
<input type="radio" class=" radio" name="rbJoinReport" value='<%# DataBinder.Eval(Container, "DataItem.ReportId") %>'
id='<%# "rbJoinReport" + DataBinder.Eval(Container, "DataItem.ReportId").ToString() %>'
onclick="OnRadioClick(this); ">
<label for='<%# "rbJoinReport" + DataBinder.Eval(Container, "DataItem.ReportId").ToString() %>' title=" <%# DataBinder.Eval(Container, "DataItem.FullName") %>">
<span id='<%# "rbJoinReport" + DataBinder.Eval(Container, "DataItem.ReportId").ToString() + "lbl" %>' class="borrower-name" style="max-width: 400px">
<%# DataBinder.Eval(Container, "DataItem.FullName") %>
</span>
</label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="View" ItemStyle-CssClass="col-sm-1" HeaderStyle-CssClass="col-sm-1">
<ItemTemplate>
<asp:HyperLink ID="hlApplicant" Text="(View)" runat="server" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.ReportId", "../ViewReport.aspx?ReportId={0}") %>' onmouseover="window.status='View Report';return true;" onmouseout="window.status='';return true;"
onclick="window.open(this.href,'_blank','toolbar=no,location=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,width=800',''); return false;">
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="boSSN" HeaderText="SSN" ItemStyle-CssClass="col-sm-2" HeaderStyle-CssClass="col-sm-2">
<ItemTemplate>
<span><%# DataBinder.Eval(Container, "DataItem.boSSN") %></span>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="UserReference" HeaderText="Reference" ItemStyle-CssClass="col-sm-2" HeaderStyle-CssClass="col-sm-2">
<ItemTemplate>
<span><%# DataBinder.Eval(Container, "DataItem.UserReference") %></span>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="RequestDate" HeaderText="Run" ItemStyle-CssClass="col-sm-1" HeaderStyle-CssClass="col-sm-1">
<ItemTemplate>
<span><%# DataBinder.Eval(Container, "DataItem.RequestDate", "{0:MM/dd/yyyy}") %></span>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</div>
</div>
<div class="row confirmation-footer">
<div class="col-sm-12">
<div class="pull-right">
<input type="button" value="Cancel" class="btn btn-sm btn-danger confirmation-cancel" id="btnCancel" name="Button1">
<input type="button" value="Join" class="btn btn-sm btn-primary confirmation-value" id="btnJoin" name="Button2" tabindex="1" disabled>
</div>
</div>
</div>
</div>
</asp:Content>
答
考虑您的SSN是一个输入字段,这是你可以做什么。从asp.net数据网格
转换标记
<table>
<tr>
<td>
<input type="text" attr="ssn"></input>
</td>
<td>
<input type="radio"></input>
</td>
</tr>
</table>
<script>
$().ready(function()
{
$('input:radio').click(function()
{
alert($(this).parent().parent().find("input[attr=ssn]").val());
});
});
</script>
我使用了元素的属性“ATTR”来定位特定的字段。您也可以使用课程或任何特殊的符号。
编辑:
如果你想这个分配给一个变量:
var ssnField = $(this).parent().parent().find("input[attr=ssn]");
我是否可以把它分配给一个变量供以后使用? –
是的,你可以。添加代码来做到这一点。 – DinoMyte