<input type="number" min="0" max="500" value="" name="qty<?php echo $key ?>" id="<?php echo $key ?>" onChange="findTotal()" />
function findTotal() {
var arr = document.getElementsByName('qty');
....
}
如何按名称获取内部有$key
的元素?
答案 0 :(得分:0)
让我们说$ key是&#39; x&#39;。然后你可以使用getElementbyID(&#39; x&#39;),因为回显$ key与把id =&#34; x&#34;相同。
答案 1 :(得分:0)
哦,我明白了。你有一系列具有不同数量键的行。
然后尝试这个。
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);
....
}
答案 2 :(得分:0)
您可以将this
指定为函数参数,然后在执行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);
}
答案 3 :(得分:0)
由于您的name
是动态的,除非您的JS知道动态name
(例如,如果您有一个列表),否则您无法通过name
获取该元素他们正在循环中运行它们。
在您的情况下,您可能想尝试使用此处概述的data
属性:
Mozzila - Using data attributes
您也可以利用此答案中列出的this
:
Javascript Get Element Value - Answer By yorick
如果这有帮助,请告诉我。如果您能提供有关具体实施的更多信息,我或许可以改进这个答案。
干杯!