javascript - 如果没有选择复选框则跳出 for 循环

标签 javascript for-loop

我有一个学生列表,每个学生旁边都有复选框。现在,我必须运行一个批处理过程,但在发送该请求之前,只有在至少选中一个复选框的情况下,我才需要能够继续该请求。

到目前为止我的JS函数代码是:

function batchOPTAllocate(){
var pid = encodeURIComponent(document.getElementById('alOptList').value);
var proceed = 0;
var elements = document.getElementsByName('stid[]');  
var data = [];
for (var i = 0; i < elements.length; i++){
if (elements[i].checked){ 
    data.push('stid[]='+elements[i].value);
} else{
    proceed = 1;
    alert("You are required to select at least one student.");
    break;

        }
    }
if(proceed === 0){
params = "&paper="+pid+"&"+data.join('&');

if (window.XMLHttpRequest)
  {
     xmlhttp=new XMLHttpRequest();
}
else
{
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
     xmlhttp.onreadystatechange=function()
 {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
// some code here...
  }
}
xmlhttp.open("POST","batch.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(params);

}

}

即使使用上述代码,如果选中其中一个复选框,它仍然会发出警报。

最佳答案

如果选中某个项目,您似乎正在向数组 data 添加元素。为什么不将警报移出 for 循环并仅在 data 长度为零时调用它?

类似这样的:

if(data.length == 0)
{
    // alert
}else{
    // carry on
}

关于javascript - 如果没有选择复选框则跳出 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18158714/

相关文章:

C# 在另一个函数中打破其他函数循环

java - 将 2D CharArray 转换为 String 并使用 .charAt() 比较字符是否正确?

javascript - 跨多个客户端同步的 Firebase 倒数计时器

javascript - 模块化 CSS 样式不起作用

javascript - 通过 Jquery 将文本附加到 td 单元格

c++ - For循环在自己的花括号内

C编程循环需要解释吗

javascript - For 循环不会结束使用 Node.js

javascript - 加载 gif 不等待 iFrame 加载?

javascript - 如何使用 firebase 数组进行 ng-repeat?