如果未选中复选框,则为jquery

时间:2018-06-13 10:45:16

标签: jquery checkbox

以下jquery代码有什么问题?如果选择了包含menu的{​​{1}},则必须至少检查一个value 1

它不起作用,如果选中子菜单,它仍然是警告信息并且正在停止。我正在尝试添加submenu或在[name='submenu[]']中存储值,但它不起作用。

variable
if ($("[name='menu[]']:checked").val() == 1) {
  if ($("[name='submenu[][]']:checked").length == 0) {
    alert('Select at least one submenu ');
    return false;
  }
}

2 个答案:

答案 0 :(得分:1)

你可以这样做:https://codepen.io/creativedev/pen/aKwJGW

$(document).ready(function() {
  $('input[type="checkbox"]').click(function () {
      if ($("[name='menu[]']:checked").val() == 1) {
                console.log($("[name^='submenu']:checked").length);
        if ($("[name^='submenu']:checked").length == 0) {
          alert('Select at least one submenu ');
          //return false;
        }
      }
    });
});

答案 1 :(得分:0)

通过查看您的代码我理解的是您要验证至少一个复选框必须被剔除

将相同的类提供给类似的复选框,如

<li><input type="checkbox" class="submenuCkeckbox" name="submenu[1][]" value="1">Local</li>
<li><input type="checkbox"  class="submenuCkeckbox" name="submenu[1][]" value="2">National</li>
验证函数中的

默认情况下会有一个标志,它将设置为false,如果至少有一个标记将被设置为

function validate(){
    var alertFlag = false;

    $(".submenuCkeckbox").each(function () {
        if ($(this).is(':checked')) {
            alertFlag = true;
        }
    });

    if (!alertFlag ) {
        alert('Select Atleast one checkbox');
    }
}