Мне нужно вернуть значения сома, которые я выбрал в диалоговом окне jQuery UI.
В настоящее время я просто устанавливаю значение следующим образом:
jQuery('#fileBrowser input.addImage').live("click", function() {
// 'file' is set when selected in file browser
imageUrlInputBox.val(file); // Add relative image url to text field
jQuery("#fileBrowser").dialog("close");
});
Проблема, с которой я столкнулся сейчасоднако, я открываю диалоговое окно через пользовательскую кнопку в TinyMCE.Поэтому мне нужен был другой способ вставки изображения.Вот что я придумал:
// This is the function valled when clicking the tinyMCE button
function openImageManager(ed) {
//tinymce is a global variable.
tinymce = ed;
jQuery("#fileBrowser").dialog("open");
}
Функция получает переменную 'ed', переданную из плагина tinyMCE.Вот сценарий для этого:
(function() {
tinymce.create('tinymce.plugins.wp_filebrowser_plugin', {
init : function(ed, url){
ed.addButton('wp_filebrowser_plugin', {
title : 'Insert image',
onclick : function() {
openImageManager(ed)
},
image: url + "/img/wand.png"
});
},
getInfo : function() {
return {
longname : 'WP Filebrowser TinyMCE plugin',
};
}
});
tinymce.PluginManager.add('wp_filebrowser_plugin', tinymce.plugins.wp_filebrowser_plugin);
})();
Теперь, нажав кнопку вставки, я могу выполнить следующий код для вставки данных в текстовый редактор:
jQuery('#fileBrowser input.addImage').live("click", function() {
var img_html = '<img class="' + css_class + '" src="' + file_url + '" title="' + alt + '" alt="" />';
tinymce.execCommand('mceInsertContent', false, img_html);
});
РЕШЕНИЕ
Спасибо TJ Crowder, я нашел ответ.Код обновлен, чтобы отразить это.