【问题标题】:Multiple values set on select2 in WordPress在 WordPress 中的 select2 上设置了多个值
【发布时间】:2017-05-02 11:23:09
【问题描述】:

我一直试图在 select2 下拉列表中显示多个选定的值。所以,到目前为止,我已经开发了下拉菜单并保存了选定的值。 我有以下代码作为下拉菜单的选项: <option value="<?php echo esc_attr($post->ID);?>"><?php the_title();?></option> 注意:选项处于循环状态。

现在,我无法在页面加载时将这些多个值设置为 select2。仅当再次从下拉列表中选择任何选项时才会设置这些多个值。

我的代码如下:

if ( isset( $wp_travel_engine_setting['crosssell']['trips'] ) && $wp_travel_engine_setting['crosssell']['trips']!='' )
{
    $selectedval = $wp_travel_engine_setting['crosssell']['trips'];
}
echo
'<script>
jQuery(document).ready(function($){
    $("#wte-cross-sell-'.$post->ID.'").select2();
    var arrayFromPHP = '.json_encode($selectedval).';
    console.log(arrayFromPHP);
    $("#wte-cross-sell-'.$post->ID.'").val(arrayFromPHP);
    $("#checkbox").click(function(){
        if($("#checkbox").is(":checked") ){
            $("#wte-cross-sell-'.$post->ID.' > option").prop("selected","selected");
            $("#wte-cross-sell-'.$post->ID.'").trigger("change");
        }else{
            $("#wte-cross-sell-'.$post->ID.' > option").removeAttr("selected");
            $("#wte-cross-sell-'.$post->ID.'").trigger("change");
        }
    });
});</script>';

//variable $selectedval 将为我们提供所选值 id 的数组,如下所示,如浏览器控制台所示: (2) ["1301", "1024"]

任何人都可以对此有所了解吗?如何在不再次选择选项的情况下设置页面加载值。

感谢您的宝贵时间!

亲切的问候,

【问题讨论】:

    标签: wordpress jquery-select2 backend jquery-select2-4


    【解决方案1】:

    这是我的愚蠢错误。我忘了触发 select2 更改调用。 所以,$("#wte-cross-sell-'.$post-&gt;ID.'").val(arrayFromPHP) 行现在将是

    $("#wte-cross-sell-'.$post->ID.'").val(arrayFromPHP).trigger("change");
    

    希望以后能对大家有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 2016-05-14
      • 2019-01-14
      • 1970-01-01
      相关资源
      最近更新 更多