为了账号安全,请及时绑定邮箱和手机立即绑定

如何将值从一个函数传递到另一个函数

如何将值从一个函数传递到另一个函数

慕工程0101907 2022-09-23 21:40:21
 var boxes = document.getElementsByName('toggle');  function markPreceding() {    var curIndex = null;    for (var j = 0; j < boxes.length; j++) {      if (boxes[j].checked) {        curIndex = j;      }    }  }  function checkInputs() {    for (var k = 0; k <= curIndex.length; k++) {      boxes[k].checked = true;    }  }  for (var i = 0; i <= boxes.length; i++) {    boxes[i].onchange = markPreceding;    boxes[i].onchange = checkInputs;  }<input type="checkbox" id="product-1" name="toggle"><input type="checkbox" id="product-2" name="toggle"><input type="checkbox" id="product-3" name="toggle"><input type="checkbox" id="product-4" name="toggle"><input type="checkbox" id="product-5" name="toggle">在将此“库索引”值传递到检查输入函数时遇到问题。这应该在检查输入之前检查输入,并获取其值来执行此操作。此项目只需要 ES5 合成器。
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

编辑:ES5 语法方式


const boxes = document.getElementsByName('toggle');


boxes.forEach(function(box, I) {

  box.onclick = function(e) {

    markPreceding(i);

  };

});


function markPreceding(i) {

  for (var j = 0; j < boxes.length; j++) {

    if(j <= i) {

      document.getElementById('product-' + (j + 1)).checked = true;

    } else {

      document.getElementById('product-' + (j + 1)).checked = false;

    }

  }

}

源语言:


尝试使用这个:


const boxes = document.getElementsByName('toggle');


boxes.forEach((box, i) => {

  box.onclick = (e) => {

    markPreceding(i);

  };

});


function markPreceding(i) {

  for (var j = 0; j < boxes.length; j++) {

    if(j <= i) {

      document.getElementById(`product-${j + 1}`).checked = true;

    } else {

      document.getElementById(`product-${j + 1}`).checked = false;

    }

  }

}

由于某种原因,通过 返回的数组更新输入似乎存在问题。不知道为什么,但此代码已经过验证。请参阅此处的工作示例。NodeListdocument.getElementsByName


查看完整回答
反对 回复 2022-09-23
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号