我がまちの「給食」自慢を聞かせてっ!

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と値を
取得することができません。
どのようにすれば取得することができるのでしょうか?

意味わかりますか?
説明がわかりにくく申し訳ございません。

よろしくお願いします。

A 回答 (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])
}

参考URL:http://www.tohoho-web.com/js/statement.htm#stFor
    • good
    • 0
この回答へのお礼

ありがとうございました。
また一歩前進しました

お礼日時:2005/07/29 17:27

<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>
と記述する。
    • good
    • 0
この回答へのお礼

お礼が遅くなってすみません。
詳しい回答ありがとうございました

お礼日時:2005/08/01 08:55

ただの配列(Array)じゃだめなんですか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報