如何根据所选的单选按钮找到特定列的值? (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]"); 

http://jsfiddle.net/cfom5j1e/

+0

我是否可以把它分配给一个变量供以后使用? –

+0

是的,你可以。添加代码来做到这一点。 – DinoMyte