现在我有多行来自mysql打印出以下php:
while($row=mysql_fetch_array($result)){
echo "<input id='dd".$row["id"]."' onclick='myFunctions()' type='button' value='".$row["id"]."'></form>";}
我只能检索按钮dd的最新值。
function myFunctions() {
var name = document.getElementById("dd").value;
虽然有多行,但是如何获取所点击的特定值?
这就是html的样子:
<input id="dd4199" onclick="myFunctions()" value="4199" type="button">
<input id="dd4198" onclick="myFunctions()" value="4198" type="button">
<input id="dd4197" onclick="myFunctions()" value="4197" type="button">
<input id="dd4196" onclick="myFunctions()" value="4196" type="button">
正如你所看到的那样,getElementById它始终会找到4199,因为它是最新的。如何找到相应的点击。谢谢!
答案 0 :(得分:2)
您必须使用不同的ID创建输入。在2个不同的控件中使用相同的id是不正确的。
您可以迭代并创建ID dd1,dd2等
请检查:Can multiple different HTML elements have the same ID if they're different elements?
答案 1 :(得分:1)
function myFunctions(ele){
var element = ele.value;
alert(element);
}
&#13;
<input onclick="myFunctions(this)" value="4219" type="button">
<input onclick="myFunctions(this)" value="5419" type="button">
&#13;
答案 2 :(得分:0)
Relative Layout
答案 3 :(得分:0)
尝试
for ($id = 0; $row = mysql_fetch_array($result); $id++) {
echo "<input id='dd_" . $id . "' onclick='select(" . $id . ")' type='button' value='".$row["id"]."'></form>";
}
也许生成:
<input id="dd_0" onclick="select(0)" value="4199" type="button">
<input id="dd_1" onclick="select(1)" value="4198" type="button">
<input id="dd_2" onclick="select(2)" value="4197" type="button">
<input id="dd_3" onclick="select(3)" value="4196" type="button">
注意:ID是唯一的,因此您可以单独选择它们。
function select(id) {
var name = document.getElementById("dd_" + id).value;
}
另外,只是提示,您的变量名称应该更具描述性
没有人知道dd的意思。
答案 4 :(得分:-1)
将this
作为参数传递,因此当您点击按钮时,您可以获得点击按钮的值
function myFunctions(a) {
var name = a.value;
console.log(name);
}
<input onclick="myFunctions(this)" value="4199" type="button">
<input onclick="myFunctions(this)" value="4198" type="button">
<input onclick="myFunctions(this)" value="4197" type="button">
<input onclick="myFunctions(this)" value="4196" type="button">