隐藏的输入类型从javascript中的foreach传递相同的值

时间:2019-05-31 12:02:21

标签: javascript php codeigniter

我有一个带有foreach的代码,该代码可以打印图像,然后它将图像ID存储在隐藏的表单字段中。我想在用户单击特定图像时获取特定图像ID。但是它返回foreach图片id的第一个值。对不起,英语不好。有人请帮我。

<div id="gallery_09" >
    <?php foreach ($hair['hair_color_media'] as $key => $row){?>
   <input type = "hidden" name = "hair_color_slug" value = "<?=$row->hair_color_slug?>">
   <a href="#" class="elevatezoom-gallery" data-toggle="tooltip" title="<?=$row->hair_color?>" data-update="" data-image="<?=base_url('assets/img/products/large/'.$row->media_images);?>" data-zoom-image="<?=base_url('assets/img/products/large/'.$row->media_images);?>" onclick = "getPrice();">
      <img data-toggle="tooltip" title="<?=$row->hair_color?>" src="<?=base_url('assets/img/products/pin/'.$row->media_images);?>" width="50" style = "border-radius: 50%;">
  </a>
<?php }?>
  </div>
<input type = "text" readonly="" id ="color" name = "color"/>

<script type="text/javascript">
        function getPrice()
        {
            var color = $('input:hidden[name=hair_color_slug]').val();

            document.getElementById('color').value = color;
        }
    </script>

1 个答案:

答案 0 :(得分:0)

在getPrice函数中传递处理程序'this'关键字以获得触发事件的当前元素。

onclick = "getPrice(this);

在单击时,将获得clicks元素的先前隐藏值,并将其放在颜色字段中。

function getPrice(getprice)
{
    var color = $(getprice).prev().val();

    document.getElementById('color').value = color;
}