こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

プルダウンのoptionについて

プルダウンにて内容を表示するために、
<option>aaa
</option>
のように内容を表示できますが、
aaaを変数にして表示することは可能でしょうか?
今作成しようとしているプログラムは
プルダウンの内容が常に変わる仕組みとなっているので
固定でoptionに書くことができず、実現方法を考えています。
よろしくお願いします。

投稿日時 - 2008-06-04 10:17:27

QNo.4074195

困ってます

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>optionにvalueを定義することも可能なのでしょうか?

ああ、やっぱりそうですか。
そう思ってもともとオブジェクトで定義しています
(配列ですといろいろ制限がでてきますからね)

var options={0:"aaa",1:"bbb",2:"ccc"}の行を
var options={val_a:"aaa",val_b:"bbb",val_c:"ccc"};
として、

o.setAttribute("value",options[i])の行を
o.setAttribute("value",i);
にしてください

また万が一、valueの値がユニークでない場合は、もうすこし
こまかいオブジェクトの設定が必要になります

投稿日時 - 2008-06-04 14:58:39

ANo.2

なるほど、じゃjavascriptってことでよろしいですね?
ここはあくまでHTMLの部屋なので、状況が理解できませんでした

こんな感じでどうでしょ
<script>
function addSelect(){
var sel=document.getElementById("sel");
var selectName="hoge";//selectの名前
var options={0:"aaa",1:"bbb",2:"ccc"};//オプションに追加したい項目
var c=sel.firstChild;
while(c){
if(c.name==selectName) sel.removeChild(c);
c=c.nextSibling;
}//おまじない
var e=document.createElement("select");
e.setAttribute("name",selectName);
for(var i in options){
var o=document.createElement("option");
o.setAttribute("value",options[i]);
o.appendChild(document.createTextNode(options[i]));
e.appendChild(o);
}
sel.appendChild(e);
}
</script>
<div id="sel"></div>
<input type="button" value="selectを追加" onclick="addSelect()">

投稿日時 - 2008-06-04 12:36:37

お礼

ありがとうございます。
実現することができました。

ちなみにですが、
var options={0:"aaa",1:"bbb",2:"ccc"};//オプションに追加したい項目
を配列化で定義することは可能でしょうか?
optionにvalueを定義することも可能なのでしょうか?
<option value>

投稿日時 - 2008-06-04 13:28:29

ANo.1

>aaaを変数にして表示

ごめんなさい、状況が全く理解できません。
もうすこし具体的になにをどうしたときに、どうなってほしいのか
補足してください

投稿日時 - 2008-06-04 10:29:06

補足

言葉足らずですみません。

実現したいことは
プルダウンの表示内容をdocument~valueにもたせて
プルダウンに表示させたいのですが、可能でしょうか?


document~.value = "aaa"
<select>
<option>document~.value
</select>
のような形で実現できればいいのですが

投稿日時 - 2008-06-04 10:41:57

あなたにオススメの質問