2013-04-08 62 views
2

我试图将timyMCE整合到淘汰赛中,这个想法是,当点击链接时,然后将内容显示为不可编辑,然后点击测试编辑打开tinymce。然后创建一个按钮来保存并将编辑模型切换到视图模型。 这里是示例代码和tinyMCE现在不工作... 感谢您的帮助。knockout.js如何初始化tinymce?

通常我们应该如何调试淘汰赛?

Sample code here: 
http://jsfiddle.net/Princa/zADEK/3/ 
+0

你的小提琴缺少jQuery库 - 在这里它被添加:http://jsfiddle.net/DW8bd/ – Thariama 2013-04-09 08:39:20

+0

@Thariama是的,我后来发现它,现在它的工作。谢谢!但仍然有一个问题:http://jsfiddle.net/Princa/DW8bd/9/。我隐藏tinymce,它没有更新self.selectedET(),所以内容不绑定到可观察...我该怎么做? – Princa 2013-04-09 21:15:13

+0

我很抱歉,我不常见于knockout.js - 所以我不能告诉 – Thariama 2013-04-10 07:53:28

回答

5

1)您需要这些绑定将绑定tinymce与您的挖空模型。 https://github.com/SteveSanderson/knockout/wiki/Bindings---tinyMCE

2)您的HTML与您的textareas和显示区域。

<a href="javascript:void(0)" data-bind="click:function(){showEditor(true)}">Show Editor</a> | 
<a href="javascript:void(0)" data-bind="click:function(){showEditor(false)}">Hide Editor</a> 
<br/> 

<div data-bind="text: fieldOne, visible:!showEditor()"></div> 

<div data-bind="css:{'nodisplay':!showEditor()}"> 
    <textarea class="tinymce" data-bind="tinymce: fieldOne"></textarea> 
</div> 

<hr/> 

<h2>Debug</h2> 
<div data-bind="text: ko.toJSON(viewModel)"></div> 

3)你的JS

var viewModel = { 
    fieldOne: ko.observable("one"), 
    showEditor:ko.observable(false) 
}; 

ko.applyBindings(viewModel); 

您可以检查此的jsfiddle出来。 http://jsfiddle.net/billaraw/kwpRV/

+0

非常感谢!它帮助我的第一步,http://jsfiddle.net/Princa/DW8bd/10/我现在有这一步,问题是我该如何保存按钮来调用tinymce将内容保存到像EmailTemplate这样的可观察对象().etContent? – Princa 2013-04-09 21:22:18

+0

我改变了用foreach绑定tinymce的方式:selectedET然后绑定属性。看看这里http://jsfiddle.net/billaraw/fX4PN/ – billaraw 2013-04-10 07:53:36

+0

非常感谢!它做我想要的。那么你知道我们为什么不能绑定selectedET吗?并需要使用这个foreach技巧? – Princa 2013-04-10 13:36:32