Проблемы в хранимом dijit/form/Select путем установки предварительно выбранного значения в dojo 1.8

Есть еще одна проблема, когда я пытаюсь установить предварительно выбранное (или любое) значение моего виджета dijit/form/Select из магазина.

Код разметки:

<div data-dojo-type="dijit/form/Select" jsId="editOptionsDialog_select" id="editOptionsDialog_select"></div>

и js:

function editOptionsDialog_fetchData(cId, fieldName, vId) {
        var store;
        var def;
        var return_def = new Deferred();

        store = new degreeStore();
        def = store.getJsonData();

        def.then(function(data) {
            store.data = data.items;
            editOptionsDialog_select.setStore(new ObjectStore({
                objectStore : store
            }));

            editOptionsDialog_select.value = vId;

            editOptionsDialog_select.startup();
            editOptionsDialog_select.set('value', 5);

            console.info(editOptionsDialog_select);
            // here, firebug still shows value = 1
            return_def.resolve();
        });

        return return_def;
    }

спасибо заранее

Привет


person Giehl Man    schedule 19.11.2012    source источник


Ответы (1)


Наконец-то нашел решение проблемы:

Поскольку элемент выбора НЕ поддерживает числовые индексы, индексы должны были быть приведены к строкам. При этом editOptionsDialog_select.set('value', vId.toString()) наконец-то заработал!

Обязательно наполните свой магазин числовыми идентификаторами или затем текстовыми ключами по умолчанию -> (String) id, где id — целое число.

Привет

person Giehl Man    schedule 03.12.2012