我有一个包含多个TinyMCE实例的表单。 我使用Repeater控件动态创建了TextArea控件 - 它们都具有相同的ID,但我为每个控件赋予了不同的类。 我使用了为每个TextArea控件分配了一个TinyMCE实例 editor_selector:TinyMCE Init函数中的选项。
tinyMCE.init({ mode : 'textareas',theme : 'simple',editor_selector : 'upperBlock',directionality : 'rtl'}); tinyMCE.init({ mode : 'textareas',theme : 'simple',editor_selector : 'middleBlock',directionality : 'rtl'});
我想在JS函数中引用特定的TinyMCE实例并获取其内容。 在每个TextArea控件具有可以通过使用:
完成的不同id的情况下tinyMCE.get('IdOfYourTextBoxWithTheTinyMCEContent').getContent()
有没有办法在TinyMCE Init函数的editor_selector选项中通过分配给它的类来获取特定的TinyMCE实例内容?
由于
答案 0 :(得分:6)
使用原生TinyMCE方法无法做到这一点。你必须自己循环,例如(另)
for (edId in tinymce.editors) {
if (tinymce.editors[edId].settings.editor_selector == 'upperBlock') {
// editor found - do something
}
}
答案 1 :(得分:2)
你做错了。 HTML中不允许具有更多具有相同ID的元素。给他们相同的类和不同的ID。
答案 2 :(得分:0)
如果要按类检索编辑器,则必须先将此属性设置为编辑器。
tinymceOptions: {
mode: 'specific_textareas',
editor_selector: "yourClassName"
}
然后,你的textarea就像:
<textarea class="yourClassName"></textarea>
然后,您可以在所有您喜欢的编辑器之间进行迭代
tinymce.editors.forEach(function(editor) {
if (editor.settings.editor_selector === 'yourClassName') {
// do what you want!
}
});