如何确保至少选中一个复选框?

3 javascript

我正在使用其值来自数据库的复选框.它的名字是一样的,但是名字是这样的:

<input type="checkbox" id="chkBankServices" name="<%=bs.getServiceID()%>">
<%=bs.getServiceDesc()%>
Run Code Online (Sandbox Code Playgroud)

通过这个我从数据库中获取值.现在我必须验证应该选择至少一个复选框..

如果有人可以帮助我,我将感谢你.如果我给这样的javascript代码:

var services = document.getElementsById( 'chkBankServices' );
if(!(services[0].checked) && 
   !(services[1].checked) && 
   !(services[2].checked) && 
   !(services[3].checked) && 
   !(services[4].checked) && 
   !(services[5].checked) && 
   !(services[6].checked) &&
   !(services[7].checked) && 
   !(services[8].checked))
{ 
    alert( "Please select at least one service to submit." );
    return false;
}
Run Code Online (Sandbox Code Playgroud)

它没有给出任何警告信息.这有什么不对的.Plz帮助我......提前谢谢

Bri*_*ler 8

在jQuery中:

   alert(  $("#chkBankServices input[type=checkbox]:checked").length > 0 );
Run Code Online (Sandbox Code Playgroud)


Paw*_*phy 5

试试这个:

var services = document.getElementById( 'chkBankServices' );
var checkboxes = services.getElementsByTagName('input');
var checked = false;
for (var i=0,i0=checkboxes.length;i<i0;i++)
if (checkboxes[i].type.toLowerCase()=="checkbox")
{
    if (checkboxes[i].checked) checked = true;
}
Run Code Online (Sandbox Code Playgroud)

然后:

if (!checked)
{
    alert('Not checked');
    return false;
}
Run Code Online (Sandbox Code Playgroud)