Я использую TinyMCE на текстовых областях в моем администраторском разделе Magento. У меня есть свой редактор TinyMCE видимая форма запуск, но я хочу опцию к disable/re-enable это.
Я использую версию модуля jQuery, таким образом, я добавил некоторый сценарий, который почти работает. Однако это только влияет на первую инстанцию TinyMCE - если существуют какие-либо другие экземпляры его на странице, они не затронуты.
Я использовал этот пример http://tinymce.moxiecode.com/examples/example_23.php в качестве основы для того, что я сделал до сих пор. Но все еще не может выяснить, почему это влияет на первую инстанцию только. Какие-либо идеи? Вот мой код:
var $j = jQuery.noConflict();
// Add ON OFF toggle switch
$j(function() {
$j('textarea').after("
Toggle TinyMCE");
$j("span.toggle").toggle(function(){
$j('.wrapper').find('textarea').tinymce().hide();
}, function () {
$j('.wrapper').find('textarea').tinymce().show();
});
});
Работает нормально, если я повторю скрипт для каждой отдельной текстовой области, например textarea:eq(0), textarea:eq(1) и т.д. Не знаю почему, но это сработает.
UPDATE:
То, как у них есть jQuery show/hide пример на сайте tinymce, на самом деле не работает. Вместо того, чтобы просто спрятать редактор, на самом деле нужно выгрузить и затем перезагрузить его, иначе любые изменения, сделанные в состоянии "toggled off" не будут сохранены при отправке формы. Поэтому вы должны сделать что-то вроде:
$(function() {
var id = 'tinytextareaID'; // ID of your textarea (no # symbol)
$("a.toggle").toggle(function(){
tinyMCE.execCommand('mceRemoveControl', false, id);
}, function () {
tinyMCE.execCommand('mceAddControl', false, id);
});
});