使用 javascript 检查是否已选中一组复选框

Using javascript to check if an array of check boxes have been selected

本文关键字:一组 复选框 检查 javascript 是否 使用      更新时间:2023-09-26

所以我有一个通过查询的唯一值创建的复选框列表。 获得这些值后,我要检查并确保用户在能够提交要导出为 excel 文档的表单之前至少选中了一个值。 如果他们没有选中一个框,那么我就是发送警报并取消提交。

这是我的脚本:

     document.getElementById('btnPrint').onclick = function(){
     var checkOperator = $('input[name="OperatorName[]"]:checked').length;
     if(!checkOperator){
         alert('It worked!')
         return false;
     }
     return true;
 };
    <input type="submit" name="btnSubmit" value="preview" onclick="submitForm('index.php')"/>
<input type="submit" id="btnPrint" name="btnSubmitPrint" value="print" onsubmit="submitForm('exportExcel.php')"/>

现在发生的事情是它仍在导出到 Excel,并且不显示警报和取消。

您正在将布尔值与数字进行比较。试试这个:

 if(checkOperator > 0){
     alert('It worked!')
     return false;
 }

以下是你如何使用jQuery(因为这是你的问题的有效标签,它会自动跨浏览器,而且打字更少......

var cnt = 0;
$('#btnPrint').click(function(){
    $('input[type=checkbox]').each(function(){
        if ( $(this).prop('checked') ) cnt++;
    });
    if (cnt==0){
        alert('Please check a checkbox');
        return false;
    }
});

jsFiddle 演示

只需在您的方法中返回返回检查运算符 !== 0;