如何检查4复选框中的任何2复选框?
下午好开发者, 这是我在asp.net中的内容,我想用户只能选中2个复选框,超过那个弹出框应该会弹出。如何检查4复选框中的任何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);"
一起呈现。
与@Tim同意,你可以只写一个on_click功能适用于所有的复选框然后验证是否选择了多于两个chekboxes并在需要时显示错误消息。
你可以使用jQuery
到find all selected checkboxes:
var count = $("input:checked").length;
然后你有你所需要的。我想推荐使用内建的ASP.NET-Validator Controls。您可以使用CustomValidator
用于此目的,这也可以在客户端使用ClientValidationFunction
。
您可以为复选框添加客户端onclick事件,并使用jQuery来检查复选框是否已选中。您可以有一个应该测量阈值的计数器,如果超过阈值则弹出消息。
$('.mycheckbox').click(function(){
var count = $("input:checked").length;
}
注:请一个类的名称属性添加到所有相同的类名的复选框。
您可以使用jQuery:
$("input[type='checkbox']").change(function() {
var n = $("input:checkbox:checked").length;
if (n > 2) {
alert('2 are already selected!');
$(this).attr("checked", false);
}
});
如果你真的想用JavaScript
试试这个功能:
function checkCondition(chkbox) {
var buttonGroup = document.getElementsByName("group");
var total = 0;
for (var i = 0; i < buttonGroup.length; i++) {
if (buttonGroup[i].checked) {
total++;
}
}
if (total > 2) {
alert('2 are already selected!');
chkbox.checked =false;
}
}
,还可以设置你的复选框onclick="checkCondition(this)"
并设置其name
属性为group
值例如
任何javascript functon ???我不熟悉jQuery – 2012-03-14 09:39:43
为什么不使用内置的ASP.NET-Validator控件?你可以使用CustomValidator来达到这个目的,它也可以在客户端使用适当的['ClientValidationFunction'](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.clientvalidationfunction的.aspx)。 – 2012-03-14 09:14:31