当我初始化时,我有一个初始模板,我有几个段落,我需要在其中一个上添加一些文字。
在我的文本区域模板上,我有类似这样的内容:
<p>bla bla bla bla bla</p>
<p>bla bla bla bla bla <span id="newText"></span></p>
<p>bla bla bla bla bla</p>
使用jquery我尝试这样的事情:
$("span#newText").append("new text");
但它不起作用。如果我在控制台浏览器上执行此命令,我可以在textarea上看到新文本。
这可能吗?
答案 0 :(得分:0)
你在哪里写jQuery脚本?你必须把它放在textarea之后......或者你可以使用类似的东西:
$(document).ready(function() {
$("span#newText").append("new text");
});
答案 1 :(得分:0)
即时通讯使用twig(symfony),我把这个脚本放在树枝文件的底部。
我真的使用&#34;更改&#34;选择标记的事件。我有更多的脚本,比如datepicker和modernizr。
这个树枝是一个带有2个输入,一个选择,带有模板的textarea和一个提交按钮的表单。
我想要做的就是当我更改select上的选项时,将值添加到textarea的中间。
答案 2 :(得分:0)
如果您已在textarea上初始化TinyMCE,则更新底层textarea的内容将不会更新编辑器。当您第一次调用init
时,textarea中的任何HTML都会被加载到TinyMCE中,但是如果您基于类似document.ready()
的内容更新textarea,那么编辑器已经处于初始化过程并完成查看textarea。
将内容加载到编辑器中的最佳方法是使用TinyMCE的init
API:
tinymce.init({
selector: "#myTextarea",
...
setup: function (editor) {
editor.on('init', function () {
editor.setContent('This is the content to load into the editor');
}
}
});
在TinyMCE本身已经初始化之前,init
调用不会触发(这通常在document.ready()
之后为真),因此在那时你可以传入你想要的任何数据。由于TinyMCE init是Javascript,你当然可以传入一个包含相关HTML的变量,而不是我示例中的硬编码字符串。
更新: 根据您的评论,请参阅此更新的JS小提琴:http://jsfiddle.net/4m69mjjx/4/
您需要做的就是使用适当的TinyMCE API根据选择列表的值插入HTML:
$('select').change(function() {
tinymce.get('textbox').insertContent(this.value);
});