时间:2018-03-11 06:20:53

标签: javascript ajax onclick

现在我有多行来自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,因为它是最新的。如何找到相应的点击。谢谢!

5 个答案:

答案 0 :(得分:2)

您必须使用不同的ID创建输入。在2个不同的控件中使用相同的id是不正确的。

您可以迭代并创建ID dd1,dd2等

请检查:Can multiple different HTML elements have the same ID if they're different elements?

答案 1 :(得分:1)

&#13;
&#13;
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;
&#13;
&#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">