繁体   English   中英

php foreach循环中的Javascript变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM