我有一张表显示了一些值。每行都有一个Order_ID和一个按钮。
如何在$ Order_ID中获取我的值以在点击按钮时显示(警告)?
<tbody>
<?php
foreach($menuextra_result as $transaction)
{
?>
<tr>
$order_id = isset($transaction['order_id'])?($transaction['order_id']) :"";
?>
<?php if($order_id){ ?>
<td><div id="orderID"><?= $order_id ?></a></td>
<?php } else {?>
<td><div ><span style="color:red">MANGLER</span></td>
<?php }?>
style="color:red">MISSING</span></td>
<?php }?>
//There's more here, but did not bother to show it, because it was irrelevant.
<td><input type="submit" onclick="getElementById" value="Yes "></td>
<?php }
?>
</tr>
<?php
}
?>
</tbody>
这是我试过的方式
<script type="text/javascript">
function getElementById()
{
el = document.getElementById('order_id');
alert(el);
}
</script>
但是点击按钮时没有任何反应
答案 0 :(得分:1)
table.php
//assuming you have done you loop work
<table>
<tr>
<td>
<?php echo $row['name']?>
</td>
<td><input type="button" value="click me" onclick="clickMe(<?php echo $row['id']?>)" /></td>
</tr>
</table>
clickme unction就像这样
function clickMe(id) {
alert(id);
}
您将一个参数传递给clickMe()
函数,参数为id
答案 1 :(得分:1)
首先,不要使用id
因为你有多个这样的元素。您可以改为使用类:
<div class="orderID"><?= $order_id ?></div>
同时修复了您获得的无效HTML,<div>
的结束标记为</div>
而非</a>
。
其次,更改单击以将按钮发送到功能:
<input type="submit" onclick="FindOrder(this);" value="Yes " />
最后这个功能应该可以解决问题:(通过搜索“兄弟”div)
function FindOrder(oButton) {
var oRow = oButton.parentNode;
while (oRow && oRow.tagName.toLowerCase() !== "tr")
oRow = oRow.parentNode;
var arrDivs = oRow.getElementsByTagName("div");
var orderDiv = null;
for (var i = 0; i < arrDivs.length; i++) {
if (arrDivs[i].className === "orderID") {
orderDiv = arrDivs[i];
break;
}
}
if (orderDiv != null) {
var orderNumber = orderDiv.innerHTML;
alert("order is " + orderNumber);
} else {
alert("order not found");
}
}
答案 2 :(得分:0)
您需要在某处将$ order_id打印到HTML中。你可以使用隐藏的输入:
<input name="order_id" id="order_id" value="<?php echo $order_id; ?>">
然后你可以提交表格或抓住价值。
答案 3 :(得分:0)
如果不存在,则无法从您的网页获取元素。 所以解决方案很简单,只需在表上添加一个隐藏的输入元素即可。您可以从脚本中获取ID。
<tbody>
<?php
foreach($menuextra_result as $transaction)
{
?>
<tr>
<?php
$order_id = isset($transaction['order_id'])?($transaction['order_id']) :"";
?>
//There's more here, but did not bother to show it, because it was irrelevant.
<td>
<input type="hidden" name="order_id" id="order_id" value="<?php echo $order_id;?>">
<input type="submit" onclick="getElementById" value="Yes "></td>
<?php }
?>
</tr>
<?php
}
?>
</tbody>