我有一个带有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>
答案 0 :(得分:0)
在getPrice函数中传递处理程序'this'关键字以获得触发事件的当前元素。
onclick = "getPrice(this);
在单击时,将获得clicks元素的先前隐藏值,并将其放在颜色字段中。
function getPrice(getprice)
{
var color = $(getprice).prev().val();
document.getElementById('color').value = color;
}