簡體   English   中英

如何為多個前瞻結果添加JavaScript響應

[英]How to add JavaScript response to more than one forearch result

我目前有一個運行良好的PHP腳本,但是添加JavaScript時遇到了一個小問題。

我想要達到的目的是在php foreach循環中顯示結果,效果很好,但是我有一個onclick JavaScript函數,該函數應該將結果與foreach循環的結果顯示在同一行中,但是它改變了當前值只有一個結果。

因此,我目前有四種價格的汽車。 選擇一個后,我希望名稱和價格顯示在[echo“ Select:”頂部。 $ name]行。

我當前的代碼是這樣的:

<?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
}
?>

將腳本部分設置為變量中的字符串,並使用php對其進行回顯,php將每個<?php ?>視為不同的編碼塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM