Javascript 在Yii2中转换CKEditor中的文本区域

Javascript 在Yii2中转换CKEditor中的文本区域,javascript,jquery,yii2,ckeditor,Javascript,Jquery,Yii2,Ckeditor,我正在尝试将我在Yii2中动态创建的文本区域转换为CKEditor,但没有成功。我正在使用来自2amigos的yii2 ckeditor小部件 以下是我如何在表单中生成Textarea: $form->field($model, 'answer') ->textarea(['rows' => 5, 'id' => 'textarea_answer']) ->label(false) 生成的文本区域是: <textarea id="tex

我正在尝试将我在Yii2中动态创建的文本区域转换为CKEditor,但没有成功。我正在使用来自2amigosyii2 ckeditor小部件

以下是我如何在表单中生成Textarea:

$form->field($model, 'answer')
     ->textarea(['rows' => 5, 'id' => 'textarea_answer'])
     ->label(false) 
生成的文本区域是:

<textarea id="textarea_answer" class="form-control" name="topic[answer]" rows="5">
  <p>test</p>
</textarea>

textarea获取样式属性可见性:隐藏和消失。如下图所示:

<textarea id="textarea_answer" class="form-control" name="topic[answer]" 
          rows="5" style="visibility: hidden;">

          <p>test</p>

</textarea>


我怎样才能解决这个问题?这可能是依赖关系问题吗?

对不起。我发现了这个问题,我动态创建视图的方式不是好方法。我使用的是renderPartial而不是renderAjax

所以我直接动态渲染编辑器

视图(_视图):

我用的是renderPartial。这就是它不起作用的原因

 $( '#textarea_answer' ).ckeditor();
<textarea id="textarea_answer" class="form-control" name="topic[answer]" 
          rows="5" style="visibility: hidden;">

          <p>test</p>

</textarea>
Uncaught TypeError: Cannot read property 'registered' of undefined
<?= $form->field($model, 'answer')
         ->widget(CKEditor::className(), 
            [
                    'options' => ['rows' => 5, 'id' => 'textarea_answer'],
                    'preset' => 'custom',
                    'clientOptions' => [
                        'extraPlugins' => 'codesnippet',
                        'toolbarGroups' => [
                            ['name' => 'undo'],
                            ['name' => 'basicstyles', 'groups' => ['basicstyles', 'cleanup']],
                            ['name' => 'colors'],
                            ['name' => 'links', 'groups' => ['links', 'insert']],
                            ['name' => 'others', 'groups' => ['others', 'about']],

                            ['name' => 'codesnippet']
                        ]
                    ]
            ])->label(false); 
?>
echo $this->renderAjax( '_view', ['model'=> $model] );