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

时间:2016-01-14 22:40:44

标签: javascript jquery

所以我有一个通过查询的唯一值创建的复选框列表。一旦我有了这些值,我就要检查并确保用户已经检查了至少一个,然后才能提交要导出为ex​​cel文档的表单。如果他们没有选中一个方框,那么我就是发送提醒并取消提交。

这是我的剧本:

     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并且没有显示警报和取消。

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

以下是使用jQuery的方法(因为这是您的问题的有效标记,并且它自动跨浏览器,并且更少输入...):

apiServices.login = function(user,password,callback) {
$http.get("http://magainteractive.com/prototypes/cisco-ima-dashboard/cms/web/api/login/login/?username="+user+"&password="+password+"")
        .then(function(contentResponse){
            resultsObject.content = contentResponse; 
            return $http.get("http://magainteractive.com/prototypes/cisco-ima-dashboard/cms/web/api/data/list/"); 
        })
        .then(function(dataResponse){
            resultsObject.reports = dataResponse;
            resultsObject.success = 1;
            console.log(resultsObject);

            callback(resultsObject);
            apiServices.useData(resultsObject);
        }); 
}

dummyData.login(username, password, function (dataStatus) {

            if (dataStatus.success = 1) {

                $rootScope.loggedIn = true;
                $rootScope.selectedDashboard = 1; 
            } else {
                console.log("Error");
            }
        });

jsFiddle Demo

答案 2 :(得分:0)

只需返回您的方法即可 return checkOperator!== 0;