Ibm mobilefirst dojox.mobile.ComboBox中dojo.store.Memory的构造

Ibm mobilefirst dojox.mobile.ComboBox中dojo.store.Memory的构造,ibm-mobilefirst,dojo,Ibm Mobilefirst,Dojo,我的App.html中有这个 <div data-dojo-type="dojox.mobile.Pane"> <input id="codice_cliente" type="text" data-dojo-type="dojox.mobile.ComboBox" data-dojo-props='store:popola_codice_cliente()'

我的App.html中有这个

<div data-dojo-type="dojox.mobile.Pane">
                            <input id="codice_cliente" type="text" data-dojo-type="dojox.mobile.ComboBox"
                                data-dojo-props='store:popola_codice_cliente()' placeHolder="Codice cliente" >
</div>
它起作用了。但是,如果我想动态构建这个数组,dojox.mobile.ComboBox不起作用,也不会返回任何内容

function popola_codice_cliente(){
var codici_clienti_data;
if (result.invocationResult.resultSet.length>0) {
        codici_clienti=result.invocationResult.resultSet;
        codici_clienti_data="[ ";
        for (var i=0;i<codici_clienti.length;i++){
            codici_clienti_data+="{  name: codici_clienti["+i+"].CDCLI  }, ";

        }
        codici_clienti_data+="] ";

    }
return new dojo.store.Memory({ idProperty: "name", data:codici_clienti_data});
}
是否有替代方法来填充组合框(但是,从数据库获取数据)?

已解决。eval()是解决方案

if (result.invocationResult.resultSet.length>0) {
            var codici_clienti=result.invocationResult.resultSet;
            var mydata="[ ";
            for (var i=0;i<codici_clienti.length;i++){
                mydata+="{  name: codici_clienti["+i+"].CDCLI  }, ";

            }
            var lungh = mydata.length;
            mydata = mydata.substring(0,lungh-1); // tolgo l'ultimo carattere della stringa,ovvero la virgola

            mydata+="] ";

             codici_clienti_data = new Array();
            codici_clienti_data= eval (mydata);
if(result.invocationResult.resultSet.length>0){
var codici_clienti=result.invocationResult.resultSet;
var mydata=“[”;
对于(var i=0;i
"[ {  name: codici_clienti[0].CDCLI  }, {  name: codici_clienti[1].CDCLI  }, {  name: codici_clienti[2].CDCLI  }, {  name: codici_clienti[3].CDCLI  }, {  name: codici_clienti[4].CDCLI  }, {  name: codici_clienti[5].CDCLI  }, {  name: codici_clienti[6].CDCLI  }, {  name: codici_clienti[7].CDCLI  }, {  name: codici_clienti[8].CDCLI  }, {  name: codici_clienti[9].CDCLI  }, {  name: codici_clienti[10].CDCLI  }, {  name: codici_clienti[11].CDCLI  }, {  name: codici_clienti[12].CDCLI  }, {  name: codici_clienti[13].CDCLI  }, {  name: codici_clienti[14].CDCLI  }, {  name: codici_clienti[15].CDCLI  }, {  name: codici_clienti[16].CDCLI  }, {  name: codici_clienti[17].CDCLI  }, {  name: codici_clienti[18].CDCLI  }, {  name: codici_clienti[19].CDCLI  }, {  name: codici_clienti[20].CDCLI  }, {  name: codici_clienti[21].CDCLI  }, {  name: codici_clienti[22].CDCLI  }, {  name: codici_clienti[23].CDCLI  }, {  name: codici_clienti[24].CDCLI  }, {  name: codici_clienti[25].CDCLI  }, {  name: codici_clienti[26].CDCLI  }, {  name: codici_clienti[27].CDCLI  }, {  name: codici_clienti[28].CDCLI  }, {  name: codici_clienti[29].CDCLI  }, ] "
if (result.invocationResult.resultSet.length>0) {
            var codici_clienti=result.invocationResult.resultSet;
            var mydata="[ ";
            for (var i=0;i<codici_clienti.length;i++){
                mydata+="{  name: codici_clienti["+i+"].CDCLI  }, ";

            }
            var lungh = mydata.length;
            mydata = mydata.substring(0,lungh-1); // tolgo l'ultimo carattere della stringa,ovvero la virgola

            mydata+="] ";

             codici_clienti_data = new Array();
            codici_clienti_data= eval (mydata);