Как правильно подключить виджет через ajax?

518
09 апреля 2017, 03:21

Добрый день, в процессе разработки столкнулся с одной проблемой.

При нажатии на кнопку отправляется ajax запрос и возвращает инициализированный виджет. Проблема в том, что в возвращаеться все без ошибки, но не работает js и css не подключается. использую в виджете сторонний плагин. Результат - бесконечно крутящийся спиннер, хотя должно быть поле с тегами.

Так делаю запрос:

    $.ajax('/user/employee-manage/load-tags', {
       type: 'post',
       data: {
              'ids' : employeesChecked
       },
       success: function (response) {
                $('.panel-employee-tag').append(response)
       }
  });

Контроллер возвращает результат в формате JSON:

public function actionLoadTags()
{
      return TagsPanelWidget::widget();
}

Шаблон виджета:

<?php
use kartik\select2\Select2;
?>
<?= Select2::widget([
    'name' => 'color_2',
    'value' => ['red', 'green'],
    'maintainOrder' => true,
    'options' => ['placeholder' => 'Select a employees ...',        'multiple' => true],
    'pluginOptions' => [
        'tags' => true,
    ],
]);
?>

Результат возвращается в таком виде:

<span id="parent-s2-togall-w0" style="display:none"><span id="s2-togall-w0" class="s2-togall-button s2-togall-select"><span class="s2-select-label"><i class="glyphicon glyphicon-unchecked"></i>Выбрать все</span><span class="s2-unselect-label"><i class="glyphicon glyphicon-check"></i>Отменить выбор</span></span></span><div class="kv-plugin-loading loading-w0">&nbsp;</div><select id="w0" class="form-control" name="color_2[]" multiple size="4" data-s2-options="s2options_ae5051fd" data-krajee-select2="select2_11baaf42" style="display:none">
<option value="red" selected>red</option>
<option value="green" selected>green</option>
</select>

Я подозреваю, что проблема в том, что не подгружает js в самом плагине. Как возможно исправить эту проблему ?

Answer 1

Чтобы Yii2 рендерил винджет вместе с css и js, необходимо в контроллере отправлять view функцией renderAjax();

READ ALSO
как получить value всех выбранных checkbox javascript?

как получить value всех выбранных checkbox javascript?

Как получить значение всех выбранных checkbox через javascript?

357
Почему не работает яндекс метрика?

Почему не работает яндекс метрика?

Есть событие, которые вызывается при инициализации метрикиСобственно тут более подробно об этом 'метрика'

499
Как правильно собирать проект на Angular2?

Как правильно собирать проект на Angular2?

Более двух лет я писал приложения на Angular 1 - 15 и использовал для собрки gulp

347
Преобразовать массивы в JS

Преобразовать массивы в JS

Добрый деньПомогите пожалуйста найти подобие операции в PHP средствами JS

275