【问题标题】:How to triggger two select with on change with if condition on value如何使用 onchange 触发两个选择,如果条件为值
【发布时间】:2021-12-04 05:29:26
【问题描述】:

我正在尝试触发两个选择的 woocommerce 变体,并根据值应用内联样式,我的脚本是这样的,但我做错了。谢谢

    jQuery(document).ready(function($){
    
var isDesktop = window.matchMedia("only screen and (min-width: 760px)");
    
    if (isDesktop.matches) {

    jQuery('select#pa_modalita-pagamento , select#pa_partecipanti').on('change', function() {

        var val = jQuery(this).val();

            if (val ==='acconto-saldo', val === 'partecipanti-1'){ // i think the problem is here

                    setTimeout(function(){ jQuery(".woocommerce-variation-description").transition({ x: '0px', y: '80px' }); }, 100);

            }

            else if(val === '') {

            }
            
            else {

            } 

    });
}
});

【问题讨论】:

    标签: jquery wordpress woocommerce jquery-plugins


    【解决方案1】:

    脚本在(val ==='acconto-saldo', val === 'partecipanti-1') 之前运行良好。使用 JavaScript 或运算符 || 代替逗号。例如:(val ==='acconto-saldo' || val === 'partecipanti-1')

    这是一个基本演示:https://jsfiddle.net/emaozqjw/

    一种更优雅的编码方式是创建一个值数组并使用includes 方法查看值是否存在。例如['acconto-saldo', 'partecipanti-1'].includes(val)

    这是另一个基本演示:https://jsfiddle.net/emaozqjw/1/

    【讨论】:

    • 嗨@Greg。好的||它有效,但还有另一个问题,它只有在我选择第一个选择然后第二个然后重新选择第一个选择改变值时才有效,想法?谢谢
    • 在 HTML 页面中工作正常,所以我认为问题是 wp_enqueue_script 优先级或一些 JS 冲突,我需要调试它。
    • 您好,OR 运算符在 AND 之后不起作用。我需要的逻辑是:如果第一个选择(# pa_modalita-pagamento)的值为“account-saldo”,第二个选择(#pa_participanti)的值为“participante-1”或“participanti-2”或“participanti- 3”,等等我做的东西。那么如果第一个选择(#pa_modalita-pagamento)的值为“tre-rate”,第二个选择(#pa_participanti)的值为“participante-1”或“participanti-2”或“participanti-3”,依此类推关于我做的事情等,完整的代码在link
    • 上面的评论应该是一个单独的问题。你能创建一个新问题吗?
    • 好的,请点击此链接stackoverflow.com/questions/69637141/… 谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-12-21
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    相关资源
    最近更新 更多