我在jquery-ui选项卡小部件的页面上有多个CodeMirror实例.我像这样动态创建这些实例:
//Returns a code mirror editor
editor.create = function(id){
var codeID = "code-" + id;
var $node = $('<form><textarea id="' + codeID + '" name="' + codeID + '">test</textarea></form>');
editor.editors[id] = CodeMirror.fromTextArea($node.find("textarea").get(0), editor.options);
return $node;
};
Run Code Online (Sandbox Code Playgroud)
每个实例都存储在一个名为的全局数组中editors
.
创建后,它将附加到DOM.
var $editor = editor.create(id);
var tabID = "tabs-" + id;
var $tab = $('<li id=' + id + '><a href="#' + tabID + '">' + name + '</a> <span class="ui-icon ui-icon-close" role="presentation">Remove Tab</span></li>');
var $tabPanel = $('<div id="' + tabID + '"></div>');
$tabPanel.append($editor);
$('#coder > ul').append($tab);
$('#coder').append($tabPanel);
coderTabs.tabs("refresh");
Run Code Online (Sandbox Code Playgroud)
放置在textarea中的测试文本显示在编辑器中.但是,调用editor.editors[id].save()
不会更新textarea.
$('#project-save').click(function(){
var active = $( "#coder" ).tabs( "option", "active" );
var id = $('#coder .ui-tabs-nav li').eq(active).attr("id");
console.log(editor.editors[id]);
editor.editors[id].save();
return false;
});
Run Code Online (Sandbox Code Playgroud)
我不知道我缺少哪一步让textarea更新.任何帮助将非常感激!
归档时间: |
|
查看次数: |
2291 次 |
最近记录: |