Dojo ComboBox не заполняется данными

Не уверен, что я делаю неправильно, но я следовал объяснению apparoch. Я думаю, я также получаю объекты, добавленные в объект хранилища. но то же самое не отражается на пользовательском интерфейсе. раскрывающийся список по-прежнему пуст. может кто-нибудь, пожалуйста, помогите.

Код моего ящика выбора:

<div class="ecmSearchFormInputArea">
    <table class="ecmSearchFormInputArea">
                <tr>
                    <td class="propertyRowLabel">
                        <label><span class="mandatory_red"></span>Cost Center :</label>&nbsp;

                        <select data-dojo-attach-point="costCenter" id="costCenter"
                        data-dojo-type="dijit/form/FilteringSelect" style="width: 18em;" 
                        data-dojo-attach-event="onChange:loadDocStacks">
                        </select>
                    </td>
                </tr>
            </table>                                              
         </div>

My JS

postCreate: function() {
        this.logEntry("postCreate");

        //Trying to populate Combobox
        var storeData = {
                identifier: 'costCenter',
                items: []
            }
        var jsonObj = [{
            costCenter: 'sc1'
        },
        {
            costCenter: 'sc2'
        }]

        dojo.addOnLoad(function () {
        var costCenterStore = new dojo.data.ItemFileWriteStore({ data: storeData });

        for (var i = 0; i < jsonObj.length; i++) {
            alert ("value of i = " + jsonObj[i].costCenter);
            costCenterStore.newItem(jsonObj[i]);
        }
        var serviceFilterSelect = dijit.byId('costCenter');
        alert ("serviceFilterSelect " + serviceFilterSelect);
        alert ("costCenterStore " + costCenterStore);

        serviceFilterSelect.attr('store', costCenterStore);
        });
        //Trying to populate Combobox

        this.logExit("postCreate");
    },

Оповещения в цикле FOR показывают правильные данные. Я что-то упустил?


person A N    schedule 09.08.2014    source источник
comment
Какую версию додзё вы используете?   -  person runTarm    schedule 09.08.2014


Ответы (1)


добавить атрибут метки вместе с идентификатором. Потому что это то, что будет использоваться в качестве метки для заполнения.

var jsonObj = [{
            costCenter: 'sc1', name: 'label1'
        },
        {
            costCenter: 'sc2', name: 'label2'
        }];

var storeData = {
                identifier: 'costCenter', label: 'name',
                items: []
            };
person vivek_nk    schedule 11.08.2014