我正在尝试使用FancySelect.js来设置WooCommerce上使用的选择框的样式并管理了一些,但我正在努力使用产品页面上的Variation表单。
当FancySelect在原始选择框上触发更改事件时,它似乎什么都不影响。查看变体形式中使用的javascript,看起来他们已经取消了选择框上的更改事件的绑定,并通过触发.variations_form
上的事件来处理它。我似乎无法让它工作。
我的代码类似于:
$('.summary select').fancySelect().on('change.fs', function() {
$(this).trigger('change.$');
$('.variations_form').trigger('woocommerce_variation_select_change');
});
我尝试过触发多个事件,但似乎没有任何影响。
有什么想法吗? 感谢。
答案 0 :(得分:1)
事实证明原始触发器不起作用,原因我无法解决。但是,在原始选择框上手动触发更改事件在某种程度上起作用,但它不会更新fancySelect的“触发器”元素。我认为这是因为原始选择的选项没有获得:selected
属性(无论出于何种原因)。我必须向fancySelect添加一个自定义事件,以手动触发它的updateText()
方法。
更新的代码:
$('.summary .options li').on('click', function(){
$('.summary select').trigger('change').trigger('select.fs');
});
fancySelect的额外活动(如果我有机会,我会尝试做出贡献):
sel.on('select.fs', function(){
updateTriggerText();
});
干杯。