我的页面中有jqGrid和TinyMCE编辑器。
加载网格后,我选择了第一行。
在onSelectRow:
函数中,我使用$('#id').html(value_);
设置了编辑器值。该值是其中一个行单元格内的值。
我的问题是当第一行选择加载页面时我只能看到编辑器内的值1秒钟然后它就消失了。 (当我选择行onclick时,我可以看到该值,即使我刷新页面,我也能看到它。它不起作用,只是第一次。)
这是我的代码:
TinyMCE的:
$('#tinymc_id.tinymce').tinymce({
theme : "advanced",
theme_advanced_buttons1 : "cut,copy,paste,|,bold,italic,underline,|,undo,redo,|,justifyleft,justifycenter,justifyright,justifyfull,|" ,
theme_advanced_buttons2 : "formatselect,fontselect,fontsizeselect,|,forecolor,backcolor,|",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
plugins : "paste"
init_instance_callback : myCustomInitInstance
});
function myCustomInitInstance(ed)
{
var s = ed.settings;
var realID = ed.id;
tinymce.dom.Event.add(ed.getWin(), 'focus', function(e) {
if($(realID)) {
}
});
tinymce.dom.Event.add(ed.getWin(), 'blur', function(e) {
if($(realID)) {
}
});
}
jqGrid代码:
onSelectRow: function(id)
{
save_row(lastSel);
grid.editRow(id,false,'','','','','','','');
jQuery ('#' + id + '_cell1').focus();
lastSel=id;
var _text = grid.getCell(id , "cell2");
$('#tinymc_id').html(_text);
},
loadComplete:function()
{
set_selected_row(1);
}
有什么问题?我该如何解决?
答案 0 :(得分:0)
这里的问题是您可能使用html()设置textareas内容。但是编辑器位于iframe内部(其中textareas内容在init上显示)。要更好地设置编辑器内容,请使用
tinymce.get(editor_id).setContent(html_content);
答案 1 :(得分:0)
$.each($('textarea'),function() {
if($(this).val() != "") {
var value = $(this).val();
$(this).html(value)
}
});
尝试这个,如果它的工作