- ベストアンサー
連想配列を使ってコンボボックスを設定したい
JavaScriptの初心者です。 var cd_0001 = new Object(); cd_0001["0001"]="アフリカ"; cd_0001["0002"]="南アメリカ"; cd_0001["0003"]="カリブ海/南アメリカ"; cd_0001["0004"]="アジア"; cd_0001["0005"]="オセアニア"; 上記のような連想配列があります。 これを使って以下のようなコンボボックスを 作りたいのです。 <select name="cmb"> <option value="0001" selected>アフリカ</option> <option value="0001">フィルター</option> <option value="0002">南アメリカ</option> <option value="0003">カリブ海/南アメリカ</option> <option value="0004">アジア</option> <option value="0005">オセアニア</option> </select> コンボボックスを作成する部分はネットで検索し 見つけました。 ですが、連想配列から全てのKEYと値を 取得することができません。 どのようにすれば取得することができるのでしょうか? 意味わかりますか? 説明がわかりにくく申し訳ございません。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
for in を使ってできます。 var cd_0001 = new Object(); cd_0001["0001"]="アフリカ"; cd_0001["0002"]="南アメリカ"; cd_0001["0003"]="カリブ海/南アメリカ"; cd_0001["0004"]="アジア"; cd_0001["0005"]="オセアニア"; for(var X in cd_0001) { alert(X + cd_0001[X]) }
その他の回答 (2)
- Manuel
- ベストアンサー率43% (43/98)
<script language="javascript" type="text/javascript"> <!-- var cd_0001 = new Object(); cd_0001["0001"] = "アフリカ"; cd_0001["0002"] = "南アメリカ"; cd_0001["0003"] = "カリブ海/南アメリカ"; cd_0001["0004"] = "アジア"; cd_0001["0005"] = "オセアニア"; function menuCreate() { var str = '<select name="cmb">'; for(var X in cd_0001) { str += '<option value="' + X + '">' + cd_0001[X] + '</option>'; } str += '</select>'; document.write(str); } //--> </script> でコンボボックスを入れたいところに <script language="javascript" type="text/javascript"><!-- menuCreate(); //--></script> と記述する。
お礼
お礼が遅くなってすみません。 詳しい回答ありがとうございました
- Manuel
- ベストアンサー率43% (43/98)
ただの配列(Array)じゃだめなんですか?
お礼
ありがとうございました。 また一歩前進しました