c# - 如何从 4 个复选框中选中任意 2 个复选框?

标签 c# javascript asp.net

开发者下午好, 这是我在 asp .net 中的内容,我希望用户只能选中 2 个复选框,超出应弹出的警报框。

 <body>
        <form id="form1" runat="server">
        <div>
            <table width="100%">
                <tr>
                    <td>
                    <asp:CheckBox id="q3a" runat="server" Text="Public" />
                    </td>
                    <td>
                    <asp:CheckBox id="q3b" runat="server" Text="void" />
                    </td>
                    <td>
                    <asp:CheckBox id="q3c" runat="server" Text="protected"/>
                    </td>
                    <td>
                    <asp:CheckBox id="q3d" runat="server" Text="return" />
                    </td>
                </tr>
            </table>
            <asp:Button ID="btnSubmit" Text="submit" runat="server"/>
        </div>
        </form>
    </body>

我该如何为此编写javascript,我已经尝试过但找不到任何出路,请帮忙...

最佳答案

您应该在用户尝试选择第三个选项时立即阻止他们,以便只能提交两个选中的值并避免服务器端验证。

客户端 onchange 事件应该连接到与此类似的函数;

function validationCheck(checkbox) {
  if(checkbox.checked) {
    var count = 0;

    count += document.getElementById('q3a').checked ? 1 : 0;
    count += document.getElementById('q3b').checked ? 1 : 0;
    count += document.getElementById('q3c').checked ? 1 : 0;
    count += document.getElementById('q3d').checked ? 1 : 0;

    if(count > 2) {
      alert('You may only select two options.');
      checkbox.checked = false;
    }
  }
}

输入应以 onchange="validationCheck(this);" 呈现.

关于c# - 如何从 4 个复选框中选中任意 2 个复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9698821/

相关文章:

c# - 具有基类和不同实现配置选项的自动映射器

javascript - Angular ,项目详细信息

javascript - preventDefault 不适用于 tab(9) keyCode

php - 我什么时候应该使用 CMS 而不是从头开始创建网站?

c# - 2017 年 3 月 1 日的 DateTime.Parse 问题

javascript - @Html.TextBoxFor 文本改变事件

html - 重叠时如何处理css中的固定位置属性

asp.net - 面包屑 - ASP.NET - VS2008

c# - 如何检测 Firefox/IE/Chrome 中的自定义插件?

javascript - 模块模式是否需要使用 IIFE?