Select2 не показывает установленное значение

Есть элемент select2:

<select name="commande_id" id="commande">
    <option value=""> -- Choisir une commande -- </option>
    <option value="1">COM-2-2015</option>
</select>

$(document).ready(function() {
        ...
        $("#commande").select2({width:'100%'});
        ...
});

Когда я захожу на страницу в режиме обновления, я программно устанавливаю значение параметра элемента select равным значению из базы данных:

$(document).ready(function() {
       ...
       <?php
        if (isset($data)) { ?>
            ...
            $("#commande").val("<?php echo $data[0]['commande_id'];?>");
            ...
        <?php
        }
        ?>
        ...
});

Проблема в том, что во время выполнения элемент select не отображает соответствующий текст:

введите здесь описание изображения

Но когда я нажимаю на него, выбирается соответствующее значение:

введите здесь описание изображения

Так как же сделать так, чтобы отображался соответствующий текст?


person pheromix    schedule 20.01.2016    source источник
comment
Я не знаю, правильно ли я понимаю, вы хотите поставить правильное значение в нужном месте? Не лучше ли установить значение и имя параметров с помощью php?   -  person Guilherme Lopes    schedule 20.01.2016
comment
Проверьте, поможет ли ответ вам в чем-то   -  person Guilherme Lopes    schedule 20.01.2016
comment
Вам нужно инициировать событие change после изменения значения, которое вызывает проблему.   -  person Kevin Brown    schedule 21.01.2016
comment
@KevinBrown, пожалуйста, сделайте это ответом, потому что он работает отлично! :)   -  person pheromix    schedule 21.01.2016


Ответы (1)


Я не знаю, как вы получаете $data, но я думаю, что-то вроде этого, просто пример:

<?php

$data[] = ["commande_id" => "1", "name_field" => "COM-2-2015"];

foreach ($data as $key => $value){
?>
<select>
    <option value='<?php echo $value['commande_id']?>'><?php echo $value['name_field'] ?></option>
</select>
<?php } ?>

Посмотрите здесь: https://ideone.com/PSpKmu

person Guilherme Lopes    schedule 20.01.2016