WooCommerce - 使用自定义选择框触发变体选择

时间:2016-01-28 11:03:53

标签: javascript jquery wordpress woocommerce

我正在尝试使用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');
        });

我尝试过触发多个事件,但似乎没有任何影响。

有什么想法吗? 感谢。

1 个答案:

答案 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();
});

干杯。