2017-05-02 3 views
1

私はselect2ドロップダウンに複数の値を表示しようとしています。だから、私はドロップダウンを開発し、選択した値を保存しました。 私は、ドロップダウンのオプションとして次のコードを持っています: <option value="<?php echo esc_attr($post->ID);?>"><?php the_title();?></option> 注::オプションはループ上にあります。WordPressのselect2に複数の値が設定されています

ここでは、ページの読み込み時に複数の値を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>'; 

//変数$selectedvalブラウザのコンソール上で見られるように、私たちにこのような選択された値IDの配列を取得します: (2) ["1301", "1024"]

缶誰陰干ししてくださいいくつかの光これ?もう一度オプションを選択せず​​にpageloadの値を設定するにはどうすればいいですか?

ありがとうございました!

親切にして、

答えて

0

これは私の愚かな誤操作でした。私はselect2変更呼び出しをトリガするのを忘れていました。 ので、ライン$("#wte-cross-sell-'.$post->ID.'").val(arrayFromPHP)は今

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

は、それが将来的に誰を助けることを願っています!

関連する問題