如何使用javascript / jquery

时间:2019-02-17 05:36:40

标签: javascript jquery asp.net

我在asp:repeater中定义了两个单选按钮(“是”,“否”)。它们在运行时是动态的,这意味着如果数据库返回5个问题,那么对于每个问题,我们都有选项(“是”,“否”)。 The image attached shows the existing design of the radio buttons

现在,我想验证在asp:repeate中定义的这些单选按钮,以检查是否使用javascript / jquery选中了单选按钮。下面是代码:

<asp:Repeater ID="rpSuppQuestions" runat="server" OnItemCommand="rpSuppQuestions_ItemCommand" OnItemDataBound="rpSuppQuestions_ItemDataBound">
   <ItemTemplate>
      <div class="div_soru_wrapper">
         <table width="100%" border="0" style="text-align: left">
            <tr>
               <td align="left" style="vertical-align: top;">
                  <asp:HiddenField ID="hdnQuestionID" Value='<%# Bind("Question_ID") %>' runat="server" />
                  <asp:Label ID="Label1" runat="server" Text="Q" CssClass="labelSmallBold"><%# Convert.ToString(Container.ItemIndex + 1) %>:</asp:Label>
                  &nbsp;
               </td>
               <td align="left">
                  <asp:Label ID="lblSuppQuestions" runat="server" Text='<%# Bind("Question_description") %>'
                     CssClass="labelSmallBold" Width="900px"></asp:Label>
               </td>
            </tr>
            <tr>
               <td align="left">
                  <asp:Label ID="Label5" runat="server" Text="A" CssClass="labelSmallBold"><%# Convert.ToString(Container.ItemIndex + 1) %>:</asp:Label>
                  &nbsp;
               </td>
               <td align="left">
                  <table align="left">
                     <tr>
                        <td>
                           <asp:RadioButton ID="rbYes" runat="server" type="radio" CssClass="rpyes" name="tttt" GroupName="rbAnswer" Text="Yes" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
                           <asp:RadioButton ID="rbNo" runat="server" CssClass="rpyes" GroupName="rbAnswer" Text="No" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
                        </td>
                     </tr>
                  </table>
               </td>
            </tr>
         </table>
      </div>
   </ItemTemplate>
</asp:Repeater>

3 个答案:

答案 0 :(得分:1)

您可以使用jQuery测试是否检查了特定的对象,如下所示:

if ($("#radio1").prop("checked")) {
   // do something
}

//或

if ($("#radio1").is(":checked")) {
   // do something
}

//或

如果没有设置ID,则可以按组名和值进行操作

if ($("input[name='radioGroup'][value='1']").prop("checked"))

您可以按以下方式获取组中当前选中的值:

$("input[name='radioGroup']:checked);

答案 1 :(得分:1)

我认为您正在寻找的是使用jQuery选择asp.net控件的方法。 我建议在控件上使用.NET Framework 4.0中引入的ClientIDMode="Static",以便其ID保持不变,您的html应该如下所示:

<asp:RadioButton ClientIDMode="Static" ID="rbYes" runat="server" type="radio" CssClass="rpyes" name="tttt" GroupName="rbAnswer" Text="Yes" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
<asp:RadioButton ClientIDMode="Static" ID="rbNo" runat="server" CssClass="rpyes" GroupName="rbAnswer" Text="No" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>

然后您可以在javascript / jQuery中使用普通的ID选择器,其外观如下:

if($("rbYes").prop("checked", true)) {
  //Your code here
}

答案 2 :(得分:0)

为存在单选按钮的表提供一些类名。

<table align="left" class='YourClass'>
   <tr>
      <td>
         <asp:RadioButton ID="rbYes" runat="server" type="radio" CssClass="rpyes" name="tttt" GroupName="rbAnswer" Text="Yes" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
         <asp:RadioButton ID="rbNo" runat="server" CssClass="rpyes" GroupName="rbAnswer" Text="No" Font-Names="Verdane" Font-Size="10" ForeColor=" #936E85" Visible="true"/>
      </td>
   </tr>
</table>

然后在jQuery中检查以下内容。

rdbArray = $.map($(".YourClass"), function(item, index){
    if($(item).find(".rpyes").prop("checked"))
    {
       return "checked"; // or whatever you want
    }
})