- 締切済み
プルダウンのoptionについて
プルダウンにて内容を表示するために、 <option>aaa </option> のように内容を表示できますが、 aaaを変数にして表示することは可能でしょうか? 今作成しようとしているプログラムは プルダウンの内容が常に変わる仕組みとなっているので 固定でoptionに書くことができず、実現方法を考えています。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
>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の値がユニークでない場合は、もうすこし こまかいオブジェクトの設定が必要になります
- yambejp
- ベストアンサー率51% (3827/7415)
なるほど、じゃ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()">
- yambejp
- ベストアンサー率51% (3827/7415)
>aaaを変数にして表示 ごめんなさい、状況が全く理解できません。 もうすこし具体的になにをどうしたときに、どうなってほしいのか 補足してください
補足
言葉足らずですみません。 実現したいことは プルダウンの表示内容をdocument~valueにもたせて プルダウンに表示させたいのですが、可能でしょうか? 例 document~.value = "aaa" <select> <option>document~.value </select> のような形で実現できればいいのですが
お礼
ありがとうございます。 実現することができました。 ちなみにですが、 var options={0:"aaa",1:"bbb",2:"ccc"};//オプションに追加したい項目 を配列化で定義することは可能でしょうか? optionにvalueを定義することも可能なのでしょうか? <option value>