百度编辑器(多个)赋值与取值

最近跟个项目;表单编辑页面是活的;富文本是作为一个变量插入进去的;一个页面可以存在多个富文本,或者只有一个;

赋值取值之路太艰辛了;记录一下

初始化的富文本变量值,变量的代码为(你就别想改它里面的任何东西了;费劲死):

 

赋值

因为是作为一个变量插入进去的;所以声明的editor是同一个值都是editor;后来查询了一下办法;可以通过编辑器的id值不同;重新赋值;也就是那个editor.render('id')  这里的id是特别重要的东西;后面很多地方都要

$(document).ready(function(){
        let ue=[];
        for (let i = 0; i < uecontain.length; i++) {
            ue[i] = UE.getEditor(uecontain[i].id);
            ue[i].ready(function() {//编辑器初始化完成再赋值  
                ue[i].setContent(uecontain[i].val);  //赋值给UEditor  
            });
        }
        //  UE.getEditor(uecontain[i].id).setContent(uecontain[i].val);
      //如果是一个文本编辑器的话;可以直接设置值
})

因为有多个富文本编辑器;所以编辑器的ready方法;要给不同的值;所以我声明了一个数组。这里用的是百度编辑器的回调函数;全部完成后;才会执行赋值给UEditor。

取值

arr是获取的对象的class。

if (isNaN(arr)) {//不是数字
   cont = UE.getEditor("dr_" + arr).getContent();
} else {//是数字
        //获取字段名
        let arrf = name.substring(name.lastIndexOf("_", name.lastIndexOf("_") - 1) + 1);
        let aa = arrf.indexOf("_")
        arrf = arrf.substring(0, aa);
        //获取内容
        arr = name.substring(name.lastIndexOf("_", name.lastIndexOf("_") - 1) + 1);
        cont = UE.getEditor("dr_" + arr).getContent();
        arr = arrf;
 }
 tdFile.push({trRow: i, name: arr, table: son_table_name, content: cont});

使用了一个函数;来判断获取到的class是否是数字。因为我的项目富文本上的id值;可能是aa;也可以是aa_tt(tt是时间戳)

主要是使用 【UE.getEditor("dr_" + arr).getContent()】这句话来获取文本编辑器的内容;最后把对应的id和内容都存到一个数组里面。

posted @ 2021-03-03 17:32  moppet蔡蔡  阅读(508)  评论(0编辑  收藏  举报