我试图在Jquery中使用Json解析从mysql数据填充表单,除了“ CKEDITOR Field / textarea ”总是空白之外一切正常,这是我的代码
function populateForm(form, dataJSON)
{
var data = $.parseJSON(dataJSON);
$.each(data, function(key, value) {
var $ctrl = $("#"+form).find('[id='+key+']');
if ($ctrl.is('select')){
$('option', $ctrl).each(function() {
if (this.value == value)
this.selected = true;
});
}
else if ($ctrl.is('textarea')) {
$ctrl.val(value);
}
else {
switch($ctrl.attr("type")) {
case "email":
case "text":
case "hidden":
$ctrl.val(value);
break;
case "checkbox":
if (value == 'on')
$ctrl.prop('checked', true);
else
$ctrl.prop('checked', false);
break;
}
}
});
}
如何解决这个问题?
答案 0 :(得分:1)
CKEditor创建一个显示文本的小部件,该小部件与原始textarea分开。如果CKEditor已经初始化,而不是自己更新textarea,则需要以编程方式将文本添加到窗口小部件,如下所示...
CKEDITOR.instances.IDofEditor.insertText(value);