按类获取TinyMCE实例

时间:2011-01-24 12:04:06

标签: c# javascript asp.net jquery tinymce

我有一个包含多个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实例内容?

由于

3 个答案:

答案 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!
    }
});