[英]Javascript variable inside a php foreach loop
我遇到的问题非常简单,因为foreach循环的每次迭代都覆盖了之前的javascript变量,我不确定如何解决此问题,然后在以后的函数中调用什么
foreach($variant->images as $image){
echo '
<div class="product-thmb-group">
<img id="hikashop_child_image_'.$char_id.'" class="hikashop_child_image" src="' . $this->image->uploadFolder_url . $image->file_path . '" alt="hikashop_child_image_' . $char_id . '" />
<span class="product-thmb-title">'.$char_name.'</span>
</div>
<script>
char_id = \''.$char_id.'\';
</script>';
}
<script>
jQuery('#hikashop_child_image_24').click(function() {
jQuery('#hikashop_product_characteristic_13').val(char_id).chosen().change();
jQuery('#hikashop_product_characteristic_13_chzn').trigger("chosen:updated");
});
</script>
您可以在php中更新您的javascript变量。 如果您提出ajax请求。 或仅使用ajax重新加载页面。
您可以通过生成GENERIC HTML并通过执行类似操作而忽略所有ID选择器和特定于标记的jQuery函数来解决此问题。 这可能不完全是您所需要的,但是您明白了。
foreach($variant->images as $image){
echo '
<div class="product-thmb-group">
<img class="hikashop_child_image" data-chzn=' . $char_id . ' src="' . $this->image->uploadFolder_url . $image->file_path . '" alt="hikashop_child_image_' . $char_id . '" />
<span class="product-thmb-title">'.$char_name.'</span>
</div>
}
JS:
jQuery('.product-thmb-group img').click(function() {
jQuery(this).val(char_id).chosen().change();
jQuery(this).data('chzn').trigger("chosen:updated");
});
这就是我最后要做的,但是谢谢您的投入
jQuery('*').click(function(e) {
var char_id = e.target.id;
e.stopPropagation();
var id = char_id.slice(-2);
jQuery('#hikashop_product_characteristic_13').val(id).chosen().change();
jQuery('#hikashop_product_characteristic_13_chzn').trigger("chosen:updated");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.