使用此元素而不是标识符获取textarea的值

时间:2015-12-17 11:04:48

标签: javascript jquery tinymce tinymce-4

我想在tinymce中检查空文本区域

$(".tooltip-empty-editor").each(function() {        

    if( $.trim( tinymce.get(this).getContent() ) == '' ) { 
        // .....
    }

});

HTML

<textarea class="editor tooltip-empty-editor " name="modif" >....</textarea>

但是我得到错误tinymce.get(this).getContent() this他希望有一个ID。

如何使用此with tinymce获取textarea的值?

3 个答案:

答案 0 :(得分:1)

为什么不能定义id并按如下方式访问它?

$(".tooltip-empty-editor").each(function() {        

    if( $.trim( tinymce.get($(this).attr("id")).getContent() ) == '' ) { 
        // .....
    }

});

答案 1 :(得分:1)

根据textarea与彼此的关系,您可以尝试查找索引。您需要sibling,或者如果他们都是同一节点(parent)的所有孩子,则无需打扰=&gt; $(this).index()

如果页面上只有一个=&gt; textarea = tinymce.get(0)

HTML期望:

<div class="parent">
    <div class="sibling">
        <textarea class="editor tooltip-empty-editor " name="modif" >....</textarea>
    </div>
    <div class="sibling">
        <textarea class="editor tooltip-empty-editor " name="modif" >....</textarea>
    </div>
</div>

<强> JS

$(".tooltip-empty-editor").each(function() {
    var index = $(this).closest('.sibling').index(),
        //index = $(this).index(),
        textarea = tinymce.get(index); // get() requires an id or a number

    if( $.trim( textarea.getContent() ) == '' ) {
        // .....
    }
});

如果您的html被父级上的其他元素污染,则需要使用.filter()来获取索引。

答案 2 :(得分:1)

根据产品文档,TinyMCE的get() API “按ID返回编辑器实例。 id参数应为 String 。在您的示例中,您似乎试图将“this”对象传递给它,而不是String。

我会在页面上为每个textarea提供一个唯一的ID属性,然后您可以使用该ID引用每个textarea。

正如另一张海报所说,你也可以使用整数来访问页面上的每个TinyMCE实例(例如tinymce.get(0)tinymce.get(1)