这是我的代码的一部分。我可以在此部分添加ID吗?现在,我有2组复选框(主题,兴趣)。当我选中该组中的框而没有选中第二个组中的框时,会出现错误消息。

我的想法:将ID添加到此“输入[type = checkbox]:selected”并将其全部添加到IF。有可能做到吗?

在文本下面是我的想法,它应该是什么样的:

#I know it doesn't work.
if(($('input[type=checkbox][id=subject]:checked').length == 0) && $('input[type=checkbox][id=interests]:checked').length == 0))


<script>
function validate_form()
{
    valid = true;
    if($('input[type=checkbox]:checked').length == 0)
{
    document.getElementById("status").innerHTML = "Please tick one box for interests and topics";
    valid = false;
}

    return valid;
}
</script>

最佳答案

我建议采取以下步骤:


为组的复选框添加属性类
为每个兴趣块添加div并根据组ID设置ID
验证时,按选中的组ID获取兴趣div阻止


像这样:

$('.group:checked').each(function() {
    const groupInterestsId = `#${this.id}Interests`
    if ($(`${groupInterestsId} input[type="checkbox"]:checked`).length === 0) {
    alert('Please select interests for selected group')
    return false;
  }
})


查看我的沙箱上的完整示例:https://jsfiddle.net/denisstukalov/bosqhruf/34/#&togetherjs=60jflqRT4b

09-20 19:53