jquery - 在具有特定类的 td 内的所有复选框中,只应选中其中一个

标签 jquery html checkbox

我有一个以表格形式呈现的 gridview,如下所示。在每一行中,我有 12 个复选框,其中 4 个复选框共享同一个类。现在我想在 td 内具有特定类的所有复选框中,只应检查其中一个。类动态附加到每个 td。例如,我想在所有具有类 'gvclass1' 的 tds 中,一次只能检查一个复选框。我想要 td 选择器中类名的动态变量。请帮帮我..

 <div>
        <table runat="server" border="1" width="100%">
        <tr class="row0">
        <td colspan="4" >Aetna commercial</td>
        <td colspan="4">anthem blue cross</td>
        <td colspan="4">anthem healthy</td>
        </tr>
        <tr class="row1">
        <td class="gvclass1">
            <asp:CheckBox ID="CheckBox1" runat="server" Checked="true" /></td>
         <td class="gvclass1">
             <asp:CheckBox ID="CheckBox2" runat="server" /></td>
         <td class="gvclass1">
             <asp:CheckBox ID="CheckBox3" runat="server" /></td>
         <td class="gvclass1">
             <asp:CheckBox ID="CheckBox4" runat="server" /></td>
          <td class="gvclass2">
              <asp:CheckBox ID="CheckBox5" runat="server" Checked="true" /></td>
         <td class="gvclass2">
             <asp:CheckBox ID="CheckBox6" runat="server" /></td>
         <td class="gvclass2">
             <asp:CheckBox ID="CheckBox7" runat="server" /></td>
         <td class="gvclass2">
             <asp:CheckBox ID="CheckBox8" runat="server" /></td>
          <td class="gvclass3">
              <asp:CheckBox ID="CheckBox9" runat="server" Checked="true" /></td>
         <td class="gvclass3">
             <asp:CheckBox ID="CheckBox10" runat="server" /></td>

         <td class="gvclass3"> <asp:CheckBox ID="CheckBox11" runat="server" /></td>
         <td class="gvclass3">
             <asp:CheckBox ID="CheckBox12" runat="server" /></td>
        </tr>
        <tr class="row2">

        <td class="gvclass1">
            <asp:CheckBox ID="CheckBox13" runat="server" Checked="true" /></td>
         <td class="gvclass1">
             <asp:CheckBox ID="CheckBox14" runat="server" /></td>
         <td class="gvclass1">
             <asp:CheckBox ID="CheckBox15" runat="server" /></td>
         <td class="gvclass1">
             <asp:CheckBox ID="CheckBox16" runat="server" /></td>
          <td class="gvclass2">
              <asp:CheckBox ID="CheckBox17" runat="server" /></td>
         <td class="gvclass2">
             <asp:CheckBox ID="CheckBox18" runat="server" /></td>
         <td class="gvclass2">
             <asp:CheckBox ID="CheckBox19" runat="server" checked="true"/></td>
         <td class="gvclass2">
             <asp:CheckBox ID="CheckBox20" runat="server" /></td>
          <td class="gvclass3">
              <asp:CheckBox ID="CheckBox21" runat="server" /></td>
         <td class="gvclass3">
             <asp:CheckBox ID="CheckBox22" runat="server" /></td>
         <td class="gvclass3">
             <asp:CheckBox ID="CheckBox23" runat="server" checked="true"/></td>
         <td class="gvclass3">
             <asp:CheckBox ID="CheckBox24" runat="server" /></td>
        </tr>
        </table>

    </div>

最佳答案

您需要在所有复选框上创建一个事件监听器。检查什么是父 td 类并取消选中具有相同 td 父类的所有其他复选框。我希望这会帮助你。

jQuery('input[type="checkbox"]').click(function(){
var parentClass = jQuery(this).parent('td').attr('class');
var checked = jQuery(this);
jQuery('.'+parentClass+' input[type="checkbox"]').each(function(i,e){
    jQuery(this).prop('checked', false);
})
jQuery(checked ).prop('checked', true);

})

关于jquery - 在具有特定类的 td 内的所有复选框中,只应选中其中一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42173595/

相关文章:

javascript - 类型错误 : Cannot assign to read only property 'checked' checkbox

javascript:将类添加到被单击的 <a> 并删除具有特定标签的所有元素

javascript - 1pg 上的下一个/上一个箭头。水平滑动网站?

javascript - 我是否可以使用此解决方案避免哈希冲突?

jquery - 阻止只读复选框调用事件处理程序?

jquery - 我可以为复选框使用两种不同的样式吗

javascript - 在其他元素之上打开元素

javascript - jQuery:如何将 RegEx 匹配的纯文本包装在 anchor 标记中?

javascript - 带有引用表单值的 javascript 的图像映射区域

Javascript OpenWindow 不加载样式表不工作