Как обновить раскрывающийся список select2 в codeigniter

Привет, я использую плагин select2 jquery для вставки нескольких значений в раскрывающийся список, но когда я пытаюсь обновить, я сталкиваюсь с проблемой, может ли кто-нибудь помочь мне показать правильный способ сделать это

<?php 
    $cats = explode(',',$r['keyword_whomtoteach']);
    foreach($cats as  $vald) {
        foreach($keyword as $key=>$keywords) { 
            if ($vald == $keywords->keyword_id) { ?>                         
                <option value="<?php echo $keywords->keyword_id; ?>" <?php { echo "selected"; }  ?>><?php echo $keywords->keyword_name; ?></option> <?php } else { ?>
                <option value="<?php echo $keywords->keyword_id; ?>"><?php echo $keywords->keyword_name; ?></option>  
<?php        }  
        }
    }
?> 

I am trying to do something like this i am getting values but the unsaved values which are comming from second is taking alot of time to load data its very slow can i know how to fix this .

<script type="text/javascript">
    $(document).ready(function() {
        $(".selectmultiple").select2();
    });
</script>

public function keyword_all()
{
    $this->db->select('*')->from('keywords');
    $query=$this->db->get();
    return $keyword = $query->result();
}

это модель, из которой я зацикливаюсь foreach($keyword as $key=>$keywords)


person Sumit Nair    schedule 10.05.2016    source источник


Ответы (1)


Я не уверен, решит ли это вашу проблему, но это может немного ускорить работу - это, безусловно, намного аккуратнее.

<?php 
    $cats = explode(',', $r['keyword_whomtoteach']);
    foreach($cats as $vald) {
        foreach($keyword as $key=>$keywords) { ?>                    
            <option value="<?php echo $keywords->keyword_id; ?>" <?=($vald == $keywords->keyword_id ? 'selected' : '')?> ><?php echo $keywords->keyword_name; ?></option> 
<?php   }
    }
?>
person DinosaurHunter    schedule 10.05.2016
comment
Это все еще медленно :( есть ли другой способ сделать это? @dinosaurHunter - person Sumit Nair; 10.05.2016
comment
Это большой выпадающий список с массивом около 700 - person Sumit Nair; 10.05.2016
comment
еще одна проблема, с которой я сталкиваюсь при использовании вашего кода, заключается в том, что если у меня есть 3 элемента в массиве 367 368 369, то он повторяется 3 раза 367 368 369 367 368 369 367 368 369 при сохранении, смогу ли я сохранить только 367 368 369 @DinosaurHunter - person Sumit Nair; 10.05.2016
comment
но ваш способ намного лучше, чем я, спасибо, просто помогите мне сохранить только уникальный идентификатор, который не повторяется? @DinosaurHunter - person Sumit Nair; 10.05.2016
comment
Я исправил это с помощью вашего кода и с помощью JavaScript удалил повторение, кстати. Спасибо. - person Sumit Nair; 11.05.2016