Создать список радио Ajax - PullRequest
       5

Создать список радио Ajax

0 голосов
/ 15 октября 2018

Мне нужно создать список переключаемых кнопок, которые генерируются с помощью запроса ajax.Они будут выглядеть следующим образом:

10/15/2018
10/14/2018
10/13/2018
....

Итак, я делаю Ajax-вызов ниже и получаю результат:

onTabChange: function (tabPanel, tab) {            
    if (tab.getTitle() == 'Reconciliation') {
        Ext.Ajax.request({
            url: '***',
            reader: {
                type: 'json',
                rootProperty: 'data'
            },
            useDefaultXhrHeader: false,
            withCredentials: true,
            scope: this,
            success: function (response) {
                var selectReconciliation = this.lookupReference('lisatradereconciliation');
                // Get the data from Ajax Request and shape it
                var data = Ext.JSON.decode(response.responseText).data;

                var reconciliationItems = [];
                // Put the data into a shape that it will need to look like on the page
                for (var i in data) {
                    reconciliationItems.push("boxLabel: '" + data[i].substr(5, 2) + "/" + data[i].substr(8, 2) + "/" + data[i].substr(0, 4) +"', name: 'rI', inputValue: 'data[i]'");
                }
            },
            failure: function (response) {
                '***'
            }
        });

    }
},

, который затем отправляю на элемент радиогруппы представления следующим образом:

items: [{
    xtype: 'radiogroup',
    fieldLabel: 'day',
    items: reconciliationItems
}]

Но это не работает.

1 Ответ

0 голосов
/ 16 октября 2018

Массив reconciliationItems должен быть определен как глобальная переменная или вне вашего обработчика успеха ajax, чтобы достичь желаемого:

Определить массив вне success:

window.reconciliationItems = [];

И затем получить доступ к нему в обработчике success следующим образом:

success: function (response) {
                var selectReconciliation = this.lookupReference('lisatradereconciliation');
                // Get the data from Ajax Request and shape it
                var data = Ext.JSON.decode(response.responseText).data;

                // var reconciliationItems = []; <-- Dont define here 
                // Put the data into a shape that it will need to look like on the page
                for (var i in data) {
                    reconciliationItems.push("boxLabel: '" + data[i].substr(5, 2) + "/" + data[i].substr(8, 2) + "/" + data[i].substr(0, 4) +"', name: 'rI', inputValue: 'data[i]'");
                }
            },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...