无法在select2 javascript ajax模式下设置选定值

无法在select2 javascript ajax模式下设置选定值,javascript,php,ajax,Javascript,Php,Ajax,我有一个select2元素,它使用ajax从数据库加载数据。我想从db加载该值,并在编辑模式下将其选为选定值。 但我无法使用触发器函数加载值 我尝试通过比较选定的值来使用循环,但我得到了两次select2选项 $(document).ready(function(){ var area = $('#area').select2({ placeholder: "Pilih Cabang Area Tagih Collector Agency...",

我有一个select2元素,它使用ajax从数据库加载数据。我想从db加载该值,并在编辑模式下将其选为选定值。 但我无法使用触发器函数加载值

我尝试通过比较选定的值来使用循环,但我得到了两次select2选项

$(document).ready(function(){
        var area = $('#area').select2({
            placeholder: "Pilih Cabang Area Tagih Collector Agency...",
            multiple: true,
            allowClear: true,
            width: 'resolve'
        });
        var k;
        var selected = [];
        //imloading the value from db and insert it into an array
        <?php foreach($area_coll as $area){
        ?>
            selected.push("<?php echo $area->group_branch_id;?>");
        <?php
        }?>

        $.ajax({
            url: "<?php echo base_url();?>ama/c_agency/populate_dropdown_cabang",
            type: 'GET',
            success: function(data) {
                var html = '';
                var j;
                data = JSON.parse(data);
                //looping cabang
                for(j=0; j<data.length; j++){  
                    $('#area').append($('<option>').val(data[j].GroupBranchID).text(data[j].branch));
                }
            }
        });
//this function not working at all
        area.val(selected).trigger("change");
    });
我没有收到此代码的任何错误,也没有选择值。

Select2有ajax选项。 因此,我认为您可以直接使用ajax作为select2参考的选项:

文件说:

To provide default selections, you may include an <option> for each selection that contains the value and text that should be displayed:

<select class="js-example-data-ajax form-control">
  <option value="3620194" selected="selected">select2/select2</option>
</select>
这意味着,当选项存储在exist记录中时,在选项处,您可以在编辑页面上按selected=selected。
希望能有所帮助。谢谢

好的,我已经有了解决方案,我使用array includes函数检查打印选项是否在所选阵列中。