动态json到组合框dojo

dynamic json to combobox dojo

本文关键字:dojo 组合 json 动态      更新时间:2023-09-26

我有一个问题,用一个jsonRest从跨Origin请求动态填充一个组合框。

我找到了一个静态的机会(我希望这是正确的词汇表),但是我不知道如何在多个情况下这样做。因为这只是一个有五个组合框的大网站的一小部分。

这里是代码

require([
"dojo/_base/array",
"dojo/store/Memory",
"dojo/store/JsonRest",  
"dijit/form/ComboBox", 
"dojo/store/Cache",
"dojo/store/Observable",
"dijit/form/Textarea",
"dojo/domReady!"
 ], 
function(array, Memory, JsonRest, ComboBox, Cache, Observable, Textarea){
var myArray = new Array;
var myStore = new Observable (new Cache (new JsonRest ({
            target: “URL / target”,
            idProperty: "WA",
            headers: { "X-Requested-With": "" }
        }), new Memory ()));
var myTextarea = new Textarea ({
    name: "myarea",
    style: "width:200px;"
}, "myarea");
myStore.query().then(function(response){
            });
store = new Memory({data: myArray});        //Store anlegen ... mit Array befüllen
var comboBoxWA = new ComboBox({
    id: "comboWA",
    name: "WA",
    value: "",
    store: store, // übergabe angelegter Store zu Combobox
    searchAttr: "WA"
}, "comboWA");
// Array befüllen,.. Store anlegen,... Array dem Store zuweisen
myStore.query().then(function(response){
    dojo.forEach( response, function( obj ) {
        for (var p in obj) {
            if(p=="WA"){

//这是我的问题,我不能改变"WA"在myArray。

                myArray.push({"WA" : obj[p]});  //Array befüllen
                console.debug(myArray.toSource()); 
      }}
      });
        });
 });

json响应看起来像这样[{WA ="WA_30_14"},对象{WA ="WA_30_12"},对象{WA ="WA_30_10"},对象{WA ="WA_30_16"},…]

有谁能给我一个想法或简单的例子吗?谢谢,Georg

您也可以尝试下面的方法。所以你需要myArray。push({"WA": obj[p]});push ({some_global_variable: obj [p]});"。执行以下操作。
1.在push方法之前创建一个空的LOCAL对象
2.使用数组语法将属性赋值给局部变量
3.将本地变量作为参数传递给push方法。

var localobj = {}; // step 1 
localobj[global_var] = obj[p]; //step 2 
myArray.push(localobj); // step 3 

可以在使用push()之前使用

检查全局变量的值
console.log("My glogbal varible"+global_var);