所以,我通过Yii2创建了CKeditor:
<?= $form->field($model, 'content')->widget(CKEditor::className(), [
'options' => ['rows' => 6],
'preset' => 'full',
])->label(false) ?>
这是生成的HTML代码(加上select元素,我将在此之后解释其目的):
<select id="newsletterform-template" class="form-control" name="NewsletterForm[template]">
<option value="1">first option</option>
<option value="2">second option</option>
</select>
<textarea id="newsletterform-content" name="NewsletterForm[content]" rows="6"></textarea>
现在,当我更改select元素的值时,我想使用jQuery动态更改CKeditor的内容。问题是,到目前为止,我尝试过的解决方案似乎都没有。 既不:
<script type="text/javascript">
$("#newsletterform-template").change(function() {
$("#newsletterform-content").val("something");
});
</script>
或:
<script type="text/javascript">
CKEDITOR.instances.NewsletterForm[content].setData('<p>This is the editor data.</p>');
</script>
然而,这改变了CKeditor的内容,但它并没有解决我的问题:
<script type="text/javascript">
$("#newsletterform-content").val("something");
</script>
感谢您的帮助。