크로스 원점 요청에서 jsonRest로 Combobox 다이내믹을 채우는 데 문제가 있습니다.dynamic json to combobox dojo
나는 그것을 정적으로 할 수있는 기회를 찾았지만 (나는 이것이 올바른 어휘가되기를 바란다.) 하나 이상의 경우에 그것을하는 법을 알지 못했다. 이것은 더 큰 웹 사이트의 일부분이기 때문에 다섯 Comboboxes.
가 여기 내 문제가 여기에 코드를
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"){
//있어, 나는 몇 가지 글로벌 변수에 myArray.push에서 "WA"를 변경할 수 없습니다.
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 " }, ...]
누구 아이디어 또는 나를 위해 간단한 예 감사 되세요, 게오르그
당신이) myArray.push "필요합니까 사용하여 푸시()를 사용하기 전에 전역 변수의 값을 확인할 수 있습니다; " "myArray.push ({some_global_variable : obj [p]});"가됩니다. 그렇다면 전역 변수를 decalre하여 "myArray.push ({some_global_variable : obj [p]});"문으로 추가하십시오. 작동해야합니다. some_global_variable 주위에 따옴표를 넣지 마십시오. push 메소드를 사용하기 전에 전역 변수의 값을 확인할 수 있습니다. console.log ("My glogbal varible"+ some_global_variable)를 사용하여 변수 값을 확인하십시오. – frank
아래의 방법을 사용해 볼 수도 있습니다. 위의 경우 작동하지 않습니다. "myArray.push ({"WA ": obj [p]});" "myArray.push ({some_global_variable : obj [p]});"가됩니다. 다음을 수행하십시오. 1. 푸시 메소드 앞에 빈 LOCAL 객체를 생성하십시오. 2. 로컬 변수에 속성을 할당하기위한 배열 구문을 사용하십시오. 3. 푸시 메소드에 대한 매개 변수로 로컬 변수를 전달하십시오. var localobj = {}; // step 1 localobj [global_obj] = obj [p]; // 2 단계 myArray.push (localobj); // step 3 console.log ("My glogbal varible"+ global_variable) – frank
을 사용하여 push()를 사용하기 전에 전역 변수의 값을 확인할 수 있습니다. 문제가있는 경우 : "myArray.push ({some_global_variable : obj [피]});" [Object {some_global_variable = "MB_30_14"}, Object {some_global_variable = "MB_30_12"}, ... – user3770651