PHP循环Javascript只显示第一条记录

时间:2016-01-28 09:09:17

标签: javascript php

我有一个观看代码:

 <?php
      $i = 1;
      //var_dump($this->productList);
      foreach ($this->productList as $data) {
         $desc=explode(",",$data['descriptions']);
      ?>
         <tr>
             <th colspan="3">
                  <input type="hidden" id="id_pack" name="id_pack" value="<?php echo $data['package_id']; ?>">
                  <input type="hidden" id="nama_pack" name="nama_pack" value="<?php echo $data['package_name']; ?>">
                  <h4 align="center" class="title-pack"><?php echo $data['package_name']; ?></h4>
             </th>
        </tr>
        <tr id="dashe">
             <td>
                 <ul class="myul">
                 <?php foreach($desc as $descriptions) { ?>
                     <li class="myli"> <?php echo $descriptions; ?></li>
                 <?php } ?>
                 </ul>
             </td>
             <td>
                <h4 class="prize">
                Rp. <?php echo number_format($data['price'],2);?>
                 / month
                </h4>
            </td>
            <td>
               <p id="order" name="order" class="mybutton" data-toggle="modal" data-target=".mymodal">Order</p>
            </td>
      </tr>
<?php
   $i++;
   }
?>

这就是javascript:

 document.getElementById("order").addEventListener("click", tampilkanHrm);
    function tampilkanHrm() {
        var pilihan=$("#nama_pack").val();
        document.getElementById("choice").innerHTML = pilihan;
        document.getElementById("pack").value = pilihan+" Package";
    }

问题是,在订单按钮中它始终显示相同的记录。只显示第一个数据,即使我点击了其他订单按钮。希望有人帮忙。

1 个答案:

答案 0 :(得分:1)

您无法为多个元素分配相同的ID。

所以,有不同的ID。

<?php
      $i = 1;
      //var_dump($this->productList);
      foreach ($this->productList as $data) {
         $desc=explode(",",$data['descriptions']);
      ?>
         <tr>
             <th colspan="3">
                  <input type="hidden" id="id_pack<?php echo $i ?>" name="id_pack" value="<?php echo $data['package_id']; ?>">
                  <input type="hidden" id="nama_pack<?php echo $i ?>" name="nama_pack" value="<?php echo $data['package_name']; ?>">
                  <h4 align="center" class="title-pack"><?php echo $data['package_name']; ?></h4>
             </th>
        </tr>

同样创建具有不同ID的按钮。

<td>
    <p id="<?php echo $i ?>" name="order" class="mybutton" data-toggle="modal" data-target=".mymodal">Order</p>
 </td>

然后将您的javascript更改为jquery。希望你也可以使用jquery [从你的代码中理解]

$(".mybutton").on("click", function() {
   var identifier = $(this).attr("id");
   var pilihan=$("#nama_pack"+identifier).val();
   $("#choice").html(pilihan);
});

像这样更改你的代码并检查。