Проблеми в dijit/form/Select от магазина чрез задаване на предварително избрана стойност в dojo 1.8

Има друг проблем, когато се опитвам да задам предварително избраната (или която и да е) стойност на моя магазин dijit/form/Select widget.

Маркиращият код е:

<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;
    }

Thx предварително

Поздравления


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


Отговори (1)


Най-накрая намерих решение на проблема:

Тъй като елементът за избор НЕ поддържа числови индекси, индексите трябваше да бъдат преобразувани в низове. С това editOptionsDialog_select.set('value', vId.toString()) най-накрая проработи!

Уверете се, че захранвате магазина си чрез предадени цифрови идентификатори или след това текстови ключове по подразбиране -> (Низ)ид, където идентификаторът е цяло число.

Поздравления

person Giehl Man    schedule 03.12.2012