我编写了这个脚本,通过点击 php 中动态生成的输入来更改页面元素,但是这个bug。我已尝试了所有change()
delegat()
,live ()
变体。
<table class="variations" cellspacing="0">
<tbody>
<?php foreach ( $attributes as $attribute_name => $options ) : ?>
<tr>
<td class="label attribute_name"><label for="<?php echo
sanitize_title( $attribute_name ); ?>">
<div class="alias-products">
<div class="alias-products-wrap">
<ul class="alias-product-count-2">
<?php foreach ( $available_variations as $variation => $atts ) :
?>
<li id="alias-product-<?php echo substr($atts['attributes']
['attribute_conditionnement'],-1,1); ?>" class="active-selection">
<input data-id="<?php echo substr($atts['attributes']
['attribute_conditionnement'],-1,1); ?>" type="radio" name="select-alias-
product"
id="alias-product-label-<?php echo
substr($atts['attributes']['attribute_conditionnement'],-1,1); ?>"
class="alias-product-selection"
value="<?php echo $atts['variation_id']; ?>">
<label for="alias-product-label-1">
<div class="alias-product-image">
<img class="alias-default" src="<?php echo
CSE_PLUGIN_DIR_URL . "assets/bankimages/can-big-single.svg.png" ; ?>"
alt="<?php echo $atts['variation_description']; ?>">
<img class="alias-default-hover" src="<?php echo
CSE_PLUGIN_DIR_URL . "assets/bankimages/can-big-single_hover.svg.png" ; ?>"
alt="<?php echo $atts['variation_description']; ?>">
</div>
<?php echo $atts['variation_description']; ?>
</label>
</li>
<?php endforeach;?>
</ul>
</div>
<script type="text/javascript">
(function ($) {
// select first by default
$('document').ready(function(){
$('.alias-products .alias-product-selection').first().attr('checked',
'checked').trigger('change');
});
$(document).on("change", ".alias-product-selection", function(e){
var $target = $(e.target),
product_id = $target.attr('data-id');
alert( product_id );
$("#conditionnement").val('pack' + product_id).change();
$('.alias-products ul li').removeClass('active-selection');
$('#alias-product-' + product_id).addClass('active-selection');
});
})(jQuery);
</script>
</div></label></td>
</tr>
<?php endforeach;?>
</tbody>
</table>