私は次のようなJSON入力があります。オプションを使用してoptgroupをJSONからビルドする方法は?
[
{
"No Value in Support": [
{
"5": "In house support (HIS)"
},
{
"6": "No interaction with support (NIS)"
},
{
"7": "No value in SWR maintenance (NVS)"
},
{
"8": "Support from other 3rd party (SOT)"
}
]
}
]
と、私はこのような何かを構築しようとしています:
optgroup
の
label
は、メインアレイ上の
value
key
ある
<select id="sel" name="id">
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
</select>
をそれぞれoption
はサブアレイのkey
で、テキストは値です。
たとえば、これは上記のサンプルから予期される出力です:これは私がこれまで何をやったかである
<select id="sel" name="id">
<optgroup label="No Value in Support">
<option value="5">In house support (HIS)</option>
<option value="6">No interaction with support (NIS)</option>
<option value="7">No value in SWR maintenance (NVS)</option>
<option value="8">Support from other 3rd party (SOT)</option>
</optgroup>
</select>
:
var sel_content = '';
$.each(data, function(idx, arr) {
sel_content += '<optgroup label="' + idx + '">';
$.each(arr, function(arr_idx, arr_value) {
sel_content += '<option value="' + arr_idx + '">' + arr_value + '</option>';
});
sel_content += '</optgroup>';
});
$('#sel').append(sel_content);
しかし、あなたはhereを見ればあなたがISNが表示されます私はオブジェクトを値として取得しているため、正しく動作していません。何か助けてくれますか?あなたのJSONはそれはあなたが、配列の最初の項目であるためにあなたのコードを変更する必要があるオブジェクトの単一項目の配列のようなものであるので
それは、このJSON構造を遵守する必要がありますか? –