循环内的onclick值仅适用于表中的最后一个值

约翰·K

我是Java的新手。我正在尝试创建一个单位换算计算器。我想遍历表x并添加一个onclick,以输出单击按钮的值。

我已经能够返回正在遍历的NodeList。之后,我添加一个onclick。每次单击按钮都会输出列表中最后一个按钮的值。

var x = document.getElementsByName("Scalar")

var out = document.getElementById("output")

function Edit(Input){
    out.innerHTML = Input;
}

var i;
for (i = 0; i < x.length; i++) {
    out.innerHTML = out.innerHTML + x[i].name;
    var b = x[i];
    b.onclick = function() {
        Edit(out.innerHTML + b.value)
    }
    
}
<input type = "button" id="Scalar" value = "K" name = "Scalar"/>

<div id="output">

</div>

如果单击任何按钮,我的输出将为列表中最后一个按钮的值(DDDDDD)

埃德温·迪亚斯·西

由于变量b在同一代码块中,因此已被覆盖。要获得正确的值,请使用this.value而不是b.value。避免在循环内创建函数,覆盖变量。使用addeventlistener代替onclick。var x = document.getElementsByName(“ Scalar”)

var out = document.getElementById("output")

function Edit(){
    out.innerHTML = this.value
 }

for (i = 0; i < x.length; i++) {

   x[i].addEventListener( 'click' , Edit );

 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

.each()中的setInterval仅适用于最后一个间隔?

bash set -e(errexit)仅适用于管道中的最后一个命令?

延迟加载vimeo仅适用于数组中的最后一个

for循环中的lambda仅取最后一个值

MutationObserver仅适用于最后一个突变

必应地图图钉单击事件处理程序仅适用于最后一个

循环仅取最后一个值

Appendchild仅适用于最后一个元素

表循环仅更新最后一个值

反转取自事件值的整数:仅适用于第一个事件

仅循环使用最后一个值

如何找到列之间的差异,但仅适用于熊猫中的下一个非零值?

我的循环仅适用于最后一个文件R

Magento表单验证仅适用于组中的最后一个复选框

Ruby for循环仅使用最后一个值

在循环中添加addEventListener()仅适用于最后一个按钮

FOR 循环中的嵌套 IF 仅适用于第一个值

For 循环仅适用于特定值

for 循环仅适用于最后一项

在两个不同的 JFrame 中打开的相同菜单仅适用于最后一个

使用 firestore 在 for 循环中设置布尔值仅适用于列表中的一个对象

谷歌工作表中的 onedit 脚本仅适用于一个功能

Pyspark - 循环和范围内 - 仅获取最后一个值

嵌套 Python for 循环仅适用于列表中的最后一项

JavaScript 动态按钮 OnClick 事件仅适用于创建的最后一个按钮

多个 ag-grids - setSelected 为 true 仅适用于最后一个网格

Airflow 动态任务依赖设置仅适用于列表中的最后一个元素

在 forEach 循环中,仅显示最后一个值

foreach 中的表单操作仅适用于 php 的第一个值