0

当我尝试设置我的商店提供的 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;
    }

提前谢谢

问候

4

1 回答 1

0

终于找到了解决问题的办法:

由于选择元素不支持数字索引,因此必须将索引转换为字符串。这样,editOptionsDialog_select.set('value', vId.toString()) 终于奏效了!

确保通过强制转换的数字 id 或默认的 textual-keys 为您的商店提供数据 -> (String)id ,其中 id 是一个整数。

问候

于 2012-12-03T14:11:47.923 回答