如何限制用户不使用javascript或jquery在asp.net复选框中检查超过5个复选框?

时间:2011-01-27 09:37:11

标签: javascript asp.net jquery

我的webform中有10个asp.net复选框,如果用户选择4个复选框,然后继续按钮单击事件,它会重定向到Default.aspx,如果用户选择6复选框,然后单击继续按钮,则会弹出javascript警告框并且用户不会重定向到default.aspx ...

2 个答案:

答案 0 :(得分:1)

检查出来 - >

<强> ASPX:

<asp:CheckBox ID="CheckBox1" runat="server" /><br />
<asp:CheckBox ID="CheckBox2" runat="server" /><br />
<asp:CheckBox ID="CheckBox3" runat="server" /><br />
<asp:CheckBox ID="CheckBox4" runat="server" /><br />
<asp:CheckBox ID="CheckBox5" runat="server" /><br />
<asp:CheckBox ID="CheckBox6" runat="server" /><br />
<asp:CheckBox ID="CheckBox7" runat="server" /><br />
<asp:CheckBox ID="CheckBox8" runat="server" /><br />
<asp:CheckBox ID="CheckBox9" runat="server" /><br />
<asp:CheckBox ID="CheckBox10" runat="server" /><br />
<input id="btnSubmit" type="submit" value="Continue" />

<强> JAVASCRIPT:

$("#btnSubmit").click(function(){

    var vCheckedCBCount =  $("input:checkbox").filter(function(index){ 
    return $(this)[0].checked == true;
    }).length;
    if(vCheckedCBCount > 5)
    {
        alert('You cannot check more than 5 check box.');
        return false;
    } 
});

答案 1 :(得分:0)

Sukhi有一个很好的方法来做到这一点。但是,另一种方法是每次有人点击复选框进行检查时检查:

给你一个类的复选框:

<input type="checkbox" name="items" value="7" id="Checkbox7" class="checkme" />

然后在jQuery中:

$(".checkme").click(function() {

if($(this).is(":checked"))
{

    if($(".checkme:checked").length > 5)
    {

        // show message
        return false;

    }

}

if($(this).is(":checked")) { if($(".checkme:checked").length > 5) { // show message return false; } }

这仅在用户单击复选框并且值为“已选中”

时执行检查