Javascript 需要使用条件continue进行循环

Javascript 需要使用条件continue进行循环,javascript,jquery,for-loop,Javascript,Jquery,For Loop,我需要根据复选框“继续” HTML: JS: for(var i=1;i由于代码中没有事件侦听器,因此循环永远不会运行。您需要将事件侦听器绑定到复选框输入。它如下所示: var checkbox = document.querySelector("input[name=checkbox]"); checkbox.addEventListener( 'change', function() { if(this.checked) { // output button here

我需要根据复选框“继续”

HTML:


JS:


for(var i=1;i由于代码中没有事件侦听器,因此循环永远不会运行。您需要将事件侦听器绑定到复选框输入。它如下所示:

var checkbox = document.querySelector("input[name=checkbox]");

checkbox.addEventListener( 'change', function() {
  if(this.checked) {
    // output button here
  }
}
$(“#C”+i).prop('checked')
如果选中第i个复选框,则为您提供
true

注意:

  • 循环的方式并不好,因为如果添加/删除输入,您总是需要调整条件
  • 当您从
    1开始时,for循环条件也已关闭
(变量i=1;i<5;i++)的

if($(“#C”+i).prop('checked'))
继续;
console.log(i+'unchecked');
//做点什么
}

continue
是实现这一目标的正确关键字。我怀疑您的问题在于
if
语句从来都不是真的

我想你想要这个:

// Add 1 to index first and then concatenate with "#C" to create jQuery id selector
if ($('#C' + (i + 1)).is(':checked')) { continue; }
您的
if
语句在功能上等同于(选中时):

$C和布尔值的字符串值是串联的。

试试这个

document.getElementById(“测试”).addEventListener(“单击”,函数)(){

对于(var i=1;i您应该做的是分解您的逻辑,以便您的程序是可读的,并且您可以用更高级的术语来表达它

function getCheckboxes() {
  const checkboxes = [];
  for (let i = 1; i <5; ++i) {
    checkboxes.push(document.getElementById(`E${i}`);
  }
  return checkboxes;
}

getCheckboxes()
  .filter(checkbox => !checkbox.checked)
  .forEach(checkbox => {
    // do something with an unchecked checkbook
  });
函数getcheckbox(){
常量复选框=[];
for(设i=1;i!checkbox.checked)
.forEach(复选框=>{
//用未经检查的支票簿做某事
});

如果选中复选框,您的意思是再次从零开始吗?不。只是不要完成该迭代。但继续下一项。您不能仅通过在ID前面加$来访问对象。最重要的是:您想实现什么?您想在哪里打印该输出?@verlager您的预期结果是什么?这不起作用。我有48个复选框。必须使用ID,而不是名称,先生。他的问题甚至没有提到输出按钮,但它明确表示他想循环检查项目并跳过选中的项目。使用这种方法,我需要48个相同的“测试”ID。这不太管用。如果有其他相关信息,请将其添加到您的原始帖子中,或在此处发表评论。这会增加太多的复杂性…没有简单的解决方案吗?我愿意查看输入字段。我写这篇帖子只是因为它很简单。如果添加真正的代码,没有人会回答。我没有添加任何复杂性,I'v我只是纠正了你的错误代码。你的if语句永远不会是真的。成功!!谢谢你,凯文。
// Add 1 to index first and then concatenate with "#C" to create jQuery id selector
if ($('#C' + (i + 1)).is(':checked')) { continue; }
if ("$Ctrue" == true) { continue; }
function getCheckboxes() {
  const checkboxes = [];
  for (let i = 1; i <5; ++i) {
    checkboxes.push(document.getElementById(`E${i}`);
  }
  return checkboxes;
}

getCheckboxes()
  .filter(checkbox => !checkbox.checked)
  .forEach(checkbox => {
    // do something with an unchecked checkbook
  });