我怎么能在JQuery中写这个

时间:2010-12-18 02:57:51

标签: javascript jquery scripting

if ( !document.getElementById('chkBoxView').checked
    &&!document.getElementById('chkBoxEdit').checked
    &&!document.getElementById('chkBoxAdd').checked
    &&!!document.getElementById('chkBoxDelete').checked )
{
    alert('Please select atleast one checkBox');
    return false;
}
else {
 // Atleast One Check Box Selected By User.
 return true
}

以上是JavaScript,什么可以是对应& JQuery中的优化代码?

4 个答案:

答案 0 :(得分:3)

if (!$(":checkbox[id^=chkBox]:checked").length) {
    alert('Please select atleast one checkBox');
    return false;
}
alert('you filled at least one!');
return true;

由于您的所有复选框ID均以“checkBox”开头,因此您可以使用attribute Starts With selector解决这些问题。检查复选框的长度意味着至少有一个已被检查。

演示:http://jsfiddle.net/karim79/KSjSH/2/

答案 1 :(得分:2)

if (
    !jQuery('#chkBoxView').is(':checked')
    &&!jQuery('#chkBoxEdit').is(':checked')
    &&!jQuery('#chkBoxAdd').is(':checked')
    &&!jQuery('#chkBoxDelete').is(':checked')
    ) {
    alert('Please select atleast one checkBox');
    return false;
}
else {
 // Atleast One Check Box Selected By User.
 return true
}

如果您希望$超过jQuery,那么您也可以使用{{1}}。

答案 2 :(得分:1)

你可以试试这个:

$("input:checked[id=yourid]").val()

这是好方法

jQuery('#chkBoxView').is(':checked')

答案 3 :(得分:1)

如果选中了每个复选框,您可以使用多重选择器,然后检查结果的长度是否为零:

if (!$('#chkBoxView:checked,#chkBoxEdit:checked,#chkBoxAdd:checked,#chkBoxDelete:checked').length) {
  alert('Please select at least one checkBox');
  return false;
} else {
  // At least One Check Box Selected By User.
  return true;
}