我有多个复选框,点击按钮我需要验证以下案例
代码在ASP.NET MVC 3中,我正在使用jquery。
<table>
<tr>
<td>
<span id="errorMsg1" style="display: none; color: red; font-size: 25px;">*</span>
@Html.CheckBoxFor(m => m.CheckedStatus, new { id = "cbCheckedStatus1", name = "cbCheckedStatus" })
</td>
<td>Message1</td>
<tr>
tr>
<td>
<span id="errorMsg2" style="display: none; color: red; font-size: 25px;">*</span>
@Html.CheckBoxFor(m => m.CheckedStatus, new { id = "cbCheckedStatus2", name = "cbCheckedStatus" })
</td>
<td>Message2</td>
<tr>
tr>
<td>
<span id="errorMsg3" style="display: none; color: red; font-size: 25px;">*</span>
@Html.CheckBoxFor(m => m.CheckedStatus, new { id = "cbCheckedStatus3", name = "cbCheckedStatus" })
</td>
<td>Message3</td>
<tr>
tr>
<td>
<span id="errorMsg4" style="display: none; color: red; font-size: 25px;">*</span>
@Html.CheckBoxFor(m => m.CheckedStatus, new { id = "cbCheckedStatus4", name = "cbCheckedStatus" })
</td>
<td>Message4</td>
<tr>
tr>
<td>
<span id="errorMsg5" style="display: none; color: red; font-size: 25px;">*</span>
@Html.CheckBoxFor(m => m.CheckedStatus, new { id = "cbCheckedStatus5", name = "cbCheckedStatus" })
</td>
<td>Message5</td>
<tr>
tr>
<td>
<span id="errorMsg6" style="display: none; color: red; font-size: 25px;">*</span>
@Html.CheckBoxFor(m => m.CheckedStatus, new { id = "cbCheckedStatus6", name = "cbCheckedStatus" })
</td>
<td>Message6</td>
<tr>
tr>
<td>
<span id="errorMsg7" style="display: none; color: red; font-size: 25px;">*</span>
@Html.CheckBoxFor(m => m.CheckedStatus, new { id = "cbCheckedStatus7", name = "cbCheckedStatus" })
</td>
<td>Message7</td>
<tr>
</table>
我的Jquery在下面,
jQuery().ready(function domReady($) {
$('#BtnAccept').click(function () {
if ($('input:checkbox').length == $('input:checkbox:not(:checked)').length) {
$('#cbCheckedStatus1').addClass("outLineRed");
$('#cbCheckedStatus2').addClass("outLineRed");
$('#cbCheckedStatus3').addClass("outLineRed");
$('#cbCheckedStatus4').addClass("outLineRed");
$('#cbCheckedStatus5').addClass("outLineRed");
$('#cbCheckedStatus6').addClass("outLineRed");
$('#cbCheckedStatus7').addClass("outLineRed");
$('#errorMsg1').show();
$('#errorMsg2').show();
$('#errorMsg3').show();
$('#errorMsg4').show();
$('#errorMsg5').show();
$('#errorMsg6').show();
$('#errorMsg7').show();
$('#errorMsg').show();
$('#spMsgError').show();
$('#spMsgError').html("Please confirm all the items above, and place a check mark in every box.");
$('#MsgSucc').attr("style", "background-color:White;");
return false;
}
else if( write condition){
//Find unchecked checkboxes and highlight it.
}
else {
$('#cbCheckedStatus1').addClass("outLineRed");
$('#cbCheckedStatus2').addClass("outLineRed");
$('#cbCheckedStatus3').addClass("outLineRed");
$('#cbCheckedStatus4').addClass("outLineRed");
$('#cbCheckedStatus5').addClass("outLineRed");
$('#cbCheckedStatus6').addClass("outLineRed");
$('#cbCheckedStatus7').addClass("outLineRed");
$('#errorMsg1').hide();
$('#errorMsg2').hide();
$('#errorMsg3').hide();
$('#errorMsg4').hide();
$('#errorMsg5').hide();
$('#errorMsg6').hide();
$('#errorMsg7').hide();
$('#errorMsg').hide();
$('#spMsgError').hide();
$('#MsgSucc').attr("style", "background-color:#dfe5e6;");
}
到目前为止我有什么
任何人都可以阐明如何进行第2点。
答案 0 :(得分:4)
尝试$('input[type=checkbox]:not(:checked)').addClass("outLineRed");
$('input:checkbox:not(:checked)').addClass("outLineRed");
也是可能的,但根据jQuery documentaion相当于input[type=checkbox]
。
答案 1 :(得分:1)
试试这个:你已经有未经检查的输入框的jquery选择器,你用它来获取所有复选框的长度并将其与未经检查的复选框长度进行比较:
if ($('input:checkbox').length == $('input:checkbox:not(:checked)').length) {
您可以使用以下相同的内容:
$('input[type=checkbox]:not(:checked)').addClass("outLineRed");