Ячейки выбора Select2 с несколькими значениями не могут загружать данные в CI - PullRequest
1 голос
/ 24 мая 2019

Я создаю окно поиска с select2 многозначными ящиками выбора. данные в select2 должны содержать список названий, основанных на выбранном ранее проекте. Но Select2 не может загрузить данные. Также есть ошибка

«Uncaught Error: опция« ajax »не разрешена для Select2 при подключении к элементу», как ее решить?

Это страница контроллера

      function get_title_by_keyword()
     {
        $keyword = $_POST['keyword'];
        $cos_id = implode(',', $_POST['cos_id']);

          if (isset($keyword)&&isset($cos_id))
            {
            die(json_encode($this->menu_model->get_title_by_keyword($keyword,$cos_id)));
            }

     }

Это страница модели

    function get_title_by_keyword($keyword,$cos_id){

    $query="SELECT t.id as id , t.name text
            FROM db_mstr.m_title t 
            JOIN db_mstr.m_os os ON t.os_id = os.id
            JOIN db_mstr.m_os osC ON os.cos_id = osC.id
            JOIN db_mstr.m_bp_title bpt ON t.id = bpt.title_id AND bpt.is_deleted=0
            JOIN db_mstr.m_bp bp ON bpt.bp_id = bp.id
            where t.id like '%$keyword%' and osC.id in ($cos_id)
            GROUP BY t.name";

             return $this->db->query($query)->result();
}

Это страница просмотра и JS

                        <label class="control-label col-sm-1">Project</label>
                        <div class="col-sm-4">
                            <select required multiple="multiple" id="title_cos" name="title_cos" class="" style="width:100%" data-placeholder="">
                                 <?php
                                  foreach ($comboCompany as $key)
                                  {
                                    ?><option value="'<?=$key->value?>'" >  <?=$key->text?> <?php
                                  }
                                  ?>
                            </select>
                        </div>
                         <label class="control-label col-sm-1" style="padding-left: 4px;padding-right: 3px;">Title Name</label>
                        <div class="col-sm-4">
                            <select  required multiple="multiple" class="" id=title_list name="title_list" style="width:100%">
                                 <?php
                                  foreach ($comboTitle as $key)
                                  {
                                    ?><option value="<?=$key->id?>" >  <?=$key->text?> <?php
                                  }
                                  ?>
                            </select>
                        </div>

     <script>
     $(document).ready(function(){

        $("#title_list").select2({
           ajax: {
            url: '<?=base_url();?>index.php/menu/get_title_by_keyword',
            dataType: 'json',
            type: "POST",
            quietMillis: 1000,
            data: function (term) {
                return {
                    keyword: term,
                    cos_id: $('#title_cos').val()
                };
            },
            results: function (data) {
                  return {
                        results: data
                  };
            }
        },
      placeholder: 'Search for Title',
      escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
      minimumInputLength: 3,

      });

   });
     </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...