私のjsonオブジェクトのキーと値から選択ドロップダウンを作成しようとしていますが、キー値ペアを一緒に取得できません。 。以下は私が今までに完成したものです。JSONオブジェクトから選択フォーム属性を作成
これは私が見て選択オプションをご希望の方法です:
<select id="optSelect">
<option value="key1">value1</option> <!-- should come from name1 -->
<option value="key1">value2</option> <!-- should come from name2 -->
</select>
は、私は別の配列は、各キーの値を保持し、その後、私は私の選択オプションを構築するかがある場合に応じて参照するようにする必要があります別の方法または方法?
var someObject = {
"Name1": {
"key1": "value1",
},
"Name2": {
"key1": "value2",
}
}
var objArray = [];
for(var i in someObject){
var key = someObject[i];
for(var x in key1){
var nextKey = x;
var nextVal = key1[x];
someObject.push(nextKey);
}
}
var optionSelect = document.getElementById("optSelect"),
selectList = document.createElement("select");
selectList.id = "mySelect";
optionSelect.appendChild(selectList);
for (var i = 0; i < objArray.length; i++) {
var option = document.createElement("option");
option.value = objArray[i]; // need to get key1 in here for each value in someObject
option.text = objArray[i]; // need to get value 1 or 2 etc in here for each value name in someObject
selectList.appendChild(option);
}
'for(var x in key1)'ここで 'key1'は定義されていません – callback
私はこれを見ましたvar key = someObject [i];このために変更するvar key1 = someObject [i]; –
あなたは結果をソースと同じ配列にプッシュします:多分 'someObject.push(nextKey);'はさらにobjArray.push(nextKey); 'でなければなりません:' objArray [nextKey] = nextVal; ' – Kaddath