百度编辑器(多个)赋值与取值
最近跟个项目;表单编辑页面是活的;富文本是作为一个变量插入进去的;一个页面可以存在多个富文本,或者只有一个;
赋值取值之路太艰辛了;记录一下
初始化的富文本变量值,变量的代码为(你就别想改它里面的任何东西了;费劲死):
赋值
因为是作为一个变量插入进去的;所以声明的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和内容都存到一个数组里面。