我有一个构建表的php脚本。我需要从php定义转发到函数的每一行的onclick事件。 当前无法成功调用该函数。
while($row = $result->fetch_assoc()) {
echo "<tr onclick="myFunction(this)" >
<td>".$i."</td>
<td>".$row["dest"]."</td>
<td>".$row["tool"]."</td>
<td>".$row["air_port"]."</td>
<td>".$row["ctry_cd2"]."</td>
<td>".$row["geo"]."</td>
<td>".$row["carrier_td"]."</td>
<td>".$row["required_dd"]."</td>
<td>".$row["carrier_dd"]."</td>
<td>".$row["TPT"]."</td>
<td>".$row["sqf"]."</td>
<td>".$row["Weight_kg"]."</td>
</tr>";
$i++;
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
}
echo $selected_sqf;
echo $selected_weight;
?>
<script>
function myFunction(x) {
echo 12;
alert("Row index is: " + x.rowIndex);
}
</script>
答案 0 :(得分:1)
我认为您想做的就是改变
echo "<tr onclick="myFunction(this)" >
到
echo "<tr onclick=\"myFunction(".$i.")\">
或您希望在其中包含的其他任何ID
您可以通过以下方法轻松对其进行测试:
<?php
for ($x = 1; $x <= 3; $x++) {
echo "<button onclick=\"myFunction(".$x.")\">test it</button><br>";
}
?>
<script>
function myFunction(x) {
alert("Row index is: " + x);
}
</script>
答案 1 :(得分:-1)
onClick不适用于动态创建的元素。
您可以使用jQuery使用委托事件调用,例如:
$("table").on("click", "tr", function(){
//Enter your code here
});