Jquery 根据下拉列表动态更改编辑器配置
我有一个语言下拉列表,我想我的ck编辑器打开在选定的下拉语言,但它没有发生。它适用于first select,但在这之后,它仍然保持不变。我用alert检查了下拉列表值,一切正常 这是我的jquery代码Jquery 根据下拉列表动态更改编辑器配置,jquery,ckeditor,Jquery,Ckeditor,我有一个语言下拉列表,我想我的ck编辑器打开在选定的下拉语言,但它没有发生。它适用于first select,但在这之后,它仍然保持不变。我用alert检查了下拉列表值,一切正常 这是我的jquery代码 $(function() { $('.langdropdown').on('change', function() { $('#communication-message').val(''); langval = $('.langdropdown
$(function() {
$('.langdropdown').on('change', function() {
$('#communication-message').val('');
langval = $('.langdropdown').val();
$('#communication-message').ckeditor({
language: langval,
uiColor: '#66FFCC'
});
});
});
在Javascript中,大多数情况下,当一个元素被初始化时,您必须“销毁”,然后使用新值再次初始化该元素。我建议您找到一种“销毁”当前ckeditor实例的方法,然后使用新参数创建一个新实例。尝试以下方法。我还没试过,但应该能用
$(function() {
$('.langdropdown').on('change', function() {
var elem = $('#communication-message');
var langval = $(this).val();
elem.val('');
elem.ckeditorGet().destroy();
elem.ckeditor({
language: langval,
uiColor: '#66FFCC'
});
});
});
试试这个
$(document).ready(function () {
$('#communication-message').ckeditor();
$('.langdropdown').on("change", function () {
var langCode = $(this).val();
$($('#communication-message')).ckeditor(function () {
this.destroy();
}).ckeditor({
language: langCode
});
});
});
一个更全面的示例,用于在不更改默认编辑器设置的情况下更改语言。jsiddle:因此,我的问题的解决方案之一是在文本框外创建两个div,一旦下拉值改变,删除内部div并将新的文本框再次附加到outerdiv
$(function(){
$( '#communication-message' ).ckeditor({language:'en',uiColor:'#66FFCC'});
$('.langdropdown').on('change',function(){
$('.containerforck1').remove();
//alert('removed');
langval = $('.langdropdown').val();
$('.containerforck').append("<div class='containerforck1'><textarea id='communication-message' name='message' rows='10' class='span6' required> </textarea></div>");
$( '#communication-message' ).ckeditor({language:langval,uiColor:'#66FFCC'});
});
});
$(函数(){
$(“#通信消息”).ckeditor({语言:'en',uiColor:'#66FFCC'});
$('.langdropdown')。在('change',function()上{
$('.containerforck1').remove();
//警报(“删除”);
langval=$('.langdropdown').val();
$('.containerforck')。追加(“”);
$(“#通信消息”).ckeditor({语言:langval,uiColor:“#66FFCC'});
});
});
你能简化一下吗?谢谢,但它也只适用于第一次修改。我对代码做了一点修改。尝试更新的代码。