繁体   English   中英

按名称获取具有$ key的元素

[英]Get element by name which has $key

PHP

<input type="number"  min="0" max="500" value="" name="qty<?php echo $key ?>" id="<?php echo $key ?>" onChange="findTotal()" />

JS

function findTotal() {
    var arr = document.getElementsByName('qty');
    ....
}

如何通过名称获取其中包含$key元素?

假设$ key是'x'。 然后,您可以使用getElementbyID('x'),因为回显$ key与放置id =“ x”相同。

哦,我明白了。 您有一系列具有不同数量键的行。

然后试试这个。

在PHP中:

<input type="number" min="0" max="500" value="" name="qty<?php echo $key ?>" id="<?php echo $key ?>" onChange="findTotal('qty<?php echo $key?>')" />

在JS中:

 function findTotal(key) {
    var arr = document.getElementsByName(key);
    ....
}

您可以将this作为你的函数,那么PARAMS你可以从你的函数时onchange事件执行调用它的名称或ID!

//assign this
<input type="number"  min="0" max="500" value="" name="qty<?php echo $key ?>" id="<?php echo $key ?>" onChange="findTotal(this)" />

function findTotal(current) {
  var arr = current.name; // current.id for id
  alert(arr);    
}

由于您的name是动态的,因此除非您的JS有某种了解动态name (例如,如果您具有它们的列表并且正在循环运行它们),否则您无法通过name获取元素。

对于您的情况,您可能想要尝试使用此处概述的data属性: Mozzila-使用数据属性

您还可能能够利用this作为这个答案概述: 使用Javascript获取元素值-回答的yorick

让我知道是否有帮助。 如果您可以提供有关特定实现的更多信息,我也许可以完善此答案。

干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM