Javascript 如何操作TinyMCE列表框元素?

Javascript 如何操作TinyMCE列表框元素?,javascript,tinymce,tinymce-4,Javascript,Tinymce,Tinymce 4,在TinyMCE中,如何在插件弹出窗口的列表框中添加和删除选项?看看,我成功添加了打开弹出窗口的菜单项。我在这个窗口中有一个文本框和一个列表框。当用户在文本框中输入内容时,我会发出一个AJAX请求,根据请求我想删除列表框中的所有选项和其他选项。我相信你可以通过我在第一条评论中的教程来处理所有内容,只是为了弹出,如果你可以通过tinymce弹出来完成,如果你不能,使用另一个库来构建弹出 editor.addMenuItem('insertValue', { text: 'Menu

在TinyMCE中,如何在插件弹出窗口的列表框中添加和删除选项?

看看,我成功添加了打开弹出窗口的菜单项。我在这个窗口中有一个文本框和一个列表框。当用户在文本框中输入内容时,我会发出一个AJAX请求,根据请求我想删除列表框中的所有选项和其他选项。我相信你可以通过我在第一条评论中的教程来处理所有内容,只是为了弹出,如果你可以通过tinymce弹出来完成,如果你不能,使用另一个库来构建弹出
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());
                }
            });
        }
    });