2016-04-10 7 views
0

В TinyMCE как добавлять и удалять опции в список в окне всплывающего окна?Как я могу манипулировать элементами списка TinyMCE?

+0

смотреть на [это] (http://stackoverflow.com/a/27919208/3828573) и [TinyMCE добавления пользовательской панели инструментов] (http://www.devsumo.com/technotes/2014/ 06/tinymce-4-add-custom-toolbar-icons-to-a-plugin /) – Shayan

+0

Я успешно добавил пункт меню, который открывает всплывающее окно. И у меня есть текстовое поле и список в этом окне. И когда пользователь вводит что-то в текстовое поле, я делаю запрос AJAX и зависеть от запроса, который я хочу удалить, все опции в списке и другие. – kukko

+0

Я верю, что вы можете обработать все это с помощью учебника, на который я положил первый комментарий, только для всплывающего окна, если вы можете сделать это с помощью всплывающего окна tinymce, если вы этого не сделаете, используйте другую библиотеку для создания всплывающих окон – Shayan

ответ

0
editor.addMenuItem('insertValue', { 
     text: 'Menu item text', 
     context: 'tools', 
     onclick: function() { 
      availableElements=[ 
       { 
        text:'Start typing into the search box' 
       } 
      ]; 
      var w=editor.windowManager.open({ 
       title: 'Pop up window title', 
       body:[ 
        { 
         type:'textbox', 
         name:'title', 
         label:'Search', 
         onkeyup:function(e){ 
          $.post('THE URL WHICH GIVE BACK THE OPTIONS AS A JSON').done(function(response){ 
           response=JSON.parse(response); 
           for (i in availableElements){ 
            availableElements.pop(); 
           } 
           if (typeof response.data!=="undefined"){ 
            for (i in response.data){ 
             availableElements.push({ 
              value:response.data[i].id, 
              text:response.data[i].title 
             }); 
            } 
           } 
          }); 
         } 
        }, 
        { 
         type:'listbox', 
         name:'id', 
         label:'Insert this value', 
         values:availableElements 
        } 
       ], 
       width:600, 
       height:200, 
       buttons: [ 
        { 
         text:'Insert', 
         onclick:'submit', 
         class:'mce-primary' 
        }, 
        { 
         text:'Cancel', 
         onclick:'close' 
        } 
       ], 
       onsubmit:function(){ 
        tinymce.activeEditor.execCommand('mceInsertContent', false, w.find("#id").value()); 
       } 
      }); 
     } 
    }); 
Смежные вопросы