gpt4 book ai didi

javascript - 如何将 JavaScript 响应添加到多个 forearch 结果

转载 作者:行者123 更新时间:2023-11-30 15:17:15 25 4
gpt4 key购买 nike

我目前有一个运行良好的 PHP 脚本,但在添加 JavaScript 时遇到了一个小问题。

我想要实现的是在运行良好的 php foreach 循环中显示结果,但我有一个 onclick JavaScript 函数,它应该在与 foreach 循环的结果相同的行中显示结果,但是相反它仅更改一个结果的当前值。

所以我目前有四种有价格的车型。选择一个后,我希望名称和价格显示在 [echo "Select:"的顶部。 $名称]行。

我目前的代码是这样的:

<?php
$cars = array(
array("Volvo",40.000),
array("BMW",45.000),
array("Saab",50.000),
array("Land Rover",60.000)
);

foreach($cars as $key){
$name = $key[0];
$price = $key[1];

echo "<span id='$name'></span> <span id='$price'></span><br />";
echo "Select: " . $name;
?>
<script type="text/javascript">
function grabData(d){
document.getElementById("<?php echo $price; ?>").innerHTML = d.getAttribute("data-price");
document.getElementById("<?php echo $name; ?>").innerHTML = d.getAttribute("data-title");
}
</script>
<input onclick="grabData(this);" type="radio" name="rate" data-price="<?php echo $key[1]; ?>" data-title="<?php echo $key[0]; ?>"><br />
<?php
}
?>

因此,如果选择所有选项,最终结果应如下所示:

Volvo 40
Volvo:
BMW 45
BMW:
Saab 50
Saab:
Land Rover 60
Land Rover:

非常感谢任何帮助或指导。谢谢!

最佳答案

循环只是一遍又一遍地定义相同的函数。当它被调用时,它将调用最后一个定义,而不是循环中该元素的定义。

您应该只定义一次函数,然后添加其他参数。然后您可以为每个元素使用不同的参数调用它。

<script type="text/javascript">
function grabData(d, priceid, nameid){
document.getElementById(priceid).innerHTML = d.getAttribute("data-price");
document.getElementById(nameid).innerHTML = d.getAttribute("data-title");
}
</script>

<?php
$cars = array(
array("Volvo",40.000),
array("BMW",45.000),
array("Saab",50.000),
array("Land Rover",60.000)
);

foreach($cars as $key){
$name = $key[0];
$price = $key[1];

echo "<span id='$name'></span> <span id='$price'></span><br />";
echo "Select: " . $name;
?>
<input onclick="grabData(this, '<?php echo $price; ?>', '<?php echo $name; ?>');" type="radio" name="rate" data-price="<?php echo $key[1]; ?>" data-title="<?php echo $key[0]; ?>"><br />
<?php
}
?>

关于javascript - 如何将 JavaScript 响应添加到多个 forearch 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44293591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com