在WooCommerce中使用Select2的SelectWoo实例遇到了问题

34

我在自己的定制区域中使用Select2,并使用一些代码来针对它添加和删除某些类,除了WooCommerce自己使用的SelectWoo实例不会像提供的示例中使用el.addClass('has-selection');添加类,其他情况均可正常工作。

示例代码:

(function($) {
     $('select').each(function(e) {
        handleSelectSelections($(this));
    });
})( jQuery );

function handleSelectSelections(select) {
    var el = (select.next('.select2').length) ? jQuery(select.data('select2').$container) : select;

    if (select.val() !== "" && select.val() !== null) {
        el.addClass('has-selection');
    } else {
        el.removeClass('has-selection');
    }
}

除了添加类的实际部分之外,一切都正常 - 没有添加任何类。

我错过了什么吗?


你打印了 select.val() 吗? - undefined
@bigless 是的,值是正确的。 - undefined
3
el的结果是什么?没有控制台错误吗? - undefined
从死亡中恢复它,你设法让它工作了吗?我认为你最好的选择是钩入select2事件:https://select2.org/programmatic-control/events - undefined
@LuukSkeur 好久不见,我想我从来没有去做过,因为它并不是非常重要。如果我将来需要它,我会查看你的链接。 :) - undefined
显示剩余4条评论
1个回答

0

可能是

if (select.val() !== "" && select.val() !== null) {
    **el.className += 'has-selection';**
} else {
    el.removeClass('has-selection');
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接