Как Вывести из ajax массив в плагин ckeditor?

191
22 сентября 2018, 13:20

Имеется вот такой плагин.

/** 
 * Copyright (c) 2014-2018, CKSource - Frederico Knabben. All rights reserved. 
 * Licensed under the terms of the MIT License (see LICENSE.md). 
 * 
 * Basic sample plugin inserting current date and time into the CKEditor editing area. 
 * 
 * Created out of the CKEditor Plugin SDK: 
 * http://docs.ckeditor.com/ckeditor4/docs/#!/guide/plugin_sdk_intro 
 */ 
 
// Register the plugin within the editor. 
 
CKEDITOR.plugins.add( 'hero', 
    { 
        icons: 'hero', 
        requires : ['richcombo'], //, 'styles' ], 
        init : function( editor ) 
        { 
            editor.addCommand( 'abbrDialog', new CKEDITOR.dialogCommand( 'abbrDialog' ) ); 
            editor.ui.addButton( 'Hero', 
                { 
                    label: 'Выбрать героя', 
                    command: 'abbrDialog', 
 
                } ); 
 
            CKEDITOR.dialog.add( 'abbrDialog', function ( editor ) 
            { 
                var fields; 
                var tenant_fields = []; //new Array(); 
                $.ajax({ 
                    url: '/heroes', 
                    success: function(data) { 
                        for (var key in data) 
                        { 
                            $('.cke_dialog_ui_input_select select').html('<option value='+data[key][1]+'>'+data[key][0]+'</option>'); 
 
                        } 
                        // '<a href="" data-html="true" data-trigger="hover" data-toggle="popover" data-content="rgdrg"><img src="/images/heroes_small/pudge_small.png" style="width: 26px; height: 15px; margin-top: 0; margin-right: 4px" alt="">'+data[key]+'</a>']; 
                    } 
                }); 
               
               // tenant_fields[4]=["Invoker", "4"]; 
                // tenant_fields[5]=["Axe", "5"]; 
                // tenant_fields[6]=["Juggernaut", "6"]; 
                // tenant_fields[7]=["Bloodseeker", "7"]; 
                // tenant_fields[8]=["Zeus", "8"]; 
                // tenant_fields[9]=["Faceless Void", "9"]; 
                // tenant_fields[10]=["Legion Commander", "10"]; 
                // tenant_fields[11]=["Crystal Maiden", "11"]; 
 
 
                return { 
                    title : 'Выбор героя', 
                    minWidth : 400, 
                    minHeight : 200, 
 
 
                    contents : 
                        [ 
                            { 
                                id : 'tab1', 
                                label : 'Tenants', 
                                elements : 
                                    [ 
                                        { 
                                            id : 'tenant_dropdown', 
                                            type : 'select', 
                                            label : 'Выбери героя.', 
                                            'default':'', 
 
                                            items: tenant_fields 
 
 
                                        } 
                                    ] 
                            } 
 
                        ], 
 
                    onOk : function() 
                    { 
                        var dialog = this; 
                        var abbr = editor.document.createElement( 'span' ); 
                        abbr.setText( dialog.getValueOf( 'tab1', 'tenant_dropdown' ) ); 
 
                        editor.insertElement( abbr ); 
                    } 
 
                }; 
            } ); 
        } 
    });

В нем есть ajax запрос, который получает нужные мне данные. Проверял в ajax console.log(), все данные принимает правильно. Так, как мне нужно, вот:

То что закомментировано сейчас, то как было раньше и откуда он брал нужные значения. Как мне сейчас брать значения из success? А именно вот это:

data[key][1]  
data[key][0]

Желательно кодом помочь, уже весь мозг вскипел(

READ ALSO
Я добавляю кастомный тег к дням календаря но он добавляется во всех месяцах к выбраным дням

Я добавляю кастомный тег к дням календаря но он добавляется во всех месяцах к выбраным дням

Я добавляю кастомный тег к дням календаря но он добавляется во всех месяцах к выбраным дням

158
Изменить стрелку select

Изменить стрелку select

мне нужно изменить стандартную стрелку select, что бы она была похожа на что-то такое

147
Не передаются данные JSON , методом AJAX

Не передаются данные JSON , методом AJAX

Есть код подкорректирован но почему-то данные не передаются по AJAX, а должна записываться 1 и по повторному нажатию записывать 0Выводит ошибку

150
работы с одинаковыми классами js

работы с одинаковыми классами js

Есть множество картинок с одним классом crypt_img, при ховере на которые нужно чтобы показался соответствующий ему блок с классом crypt_text, которых...

249