Javascript复选框验证:如果用户未';是否不选中某个复选框?

Javascript复选框验证:如果用户未';是否不选中某个复选框?,javascript,function,cordova,validation,phonegap-build,Javascript,Function,Cordova,Validation,Phonegap Build,因此,我所做的是类似于一个简单的药物提醒,系统显示用户应该服用的药物列表,然后用户勾选他们服用的药物的复选框,但我想做的是,如果用户只勾选了药物1和药物2,那么我想要一个警告,说“为什么你没有服用第三种药物?”此时会出现一个下拉框,其中列出了用户可以选择的可能原因。如果用户只服用了第三种药物,系统将显示警报,提示“为什么你没有服用第一种和第二种药物?”?,并出现下拉框,其中列出了可能的原因。若用户勾选了这三个复选框,那个么会显示一个警告,说“太好了!做得好!” 药物一号 药品二部 三药 我知

因此,我所做的是类似于一个简单的药物提醒,系统显示用户应该服用的药物列表,然后用户勾选他们服用的药物的复选框,但我想做的是,如果用户只勾选了药物1和药物2,那么我想要一个警告,说“为什么你没有服用第三种药物?”此时会出现一个下拉框,其中列出了用户可以选择的可能原因。如果用户只服用了第三种药物,系统将显示警报,提示“为什么你没有服用第一种和第二种药物?”?,并出现下拉框,其中列出了可能的原因。若用户勾选了这三个复选框,那个么会显示一个警告,说“太好了!做得好!”


药物一号
药品二部
三药
我知道如何对一个复选框(如术语协议复选框)进行验证,但对于如何将这么多验证规则合并到一个函数中,我有点困惑。

用于迭代所有
复选框
元素并检查
.checked
属性

返回文档中与指定选择器组匹配的元素列表(使用文档节点的深度优先顺序遍历)。返回的对象是节点列表

input[type=“checkbox”]:not(:checked)
将仅选择那些未选中的元素

函数验证(){
var msg=[];
[].forEach.call(document.querySelectorAll('input[type=“checkbox”]:not(:checked))、函数(elem,index){
消息推送(元素名称);
});
警报(msg.length?'请检查'+msg.join('and'):'全部检查完毕!');
}

一号药

药物二
药物三

使用jquery可以帮助您简化工作

这是小提琴:

HTML:

<form>
    <input type="checkbox" name="a" value="one">Medicine One<br>
    <input type="checkbox" name="b" value="two">Medicine Two<br>
    <input type="checkbox" name="c" value="three">Medicine Three<br>
    <input id=xbutton type="button" value="Submit">
</form>
$("#xbutton").click(function(){
    validate();
});

function validate(){
    if ( $('input[type="checkbox"]:not(:checked)').length == 3 ) {
    alert("Select atleast one option.");
  }
}

谢谢有没有办法将两个警报放在同一个警报框中?与显示两个警告框(一个用于不服用药物一,另一个用于不服用药物二)类似,一个警告框是否可以显示“为什么不服用药物一和药物二?”
$("#xbutton").click(function(){
    validate();
});

function validate(){
    if ( $('input[type="checkbox"]:not(:checked)').length == 3 ) {
    alert("Select atleast one option.");
  }
}