![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
下記のようなオプションメニューで連続した項目を作るには?
javascrip でfor文を使って出来ないでしょうか?
また onLoad="楽に作る関数" とかで最初からこのオプションメニューを自動作成出来ませんか?
<SELECT>
<OPTION value="123" selected>123</OPTION>
<OPTION value="124" selected>124</OPTION>
<OPTION value="125" selected>125</OPTION>
<OPTION value="126" selected>126</OPTION>
<OPTION value="127" selected>127</OPTION>
<OPTION value="128" selected>128</OPTION>
<OPTION value="129" selected>129</OPTION>
<OPTION value="130" selected>130</OPTION>
</SELECT>
よろしくお願します。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
全部selectedなの?勝手に変更。
<script type="text/javascript">
var i=0,ht =[],d=128;
ht[i] = '<select id="tekitouni">';
for( var i=123; i<131;)
ht[i] = '<option value="'+i+'"'+(i==d?' selected':'')+'>'+(i++)+'</option>';
ht[i] = '</select>';
document.write( ht.join('') );
</script>
<全部selectedなの?
すみません。間違いました。selectedはひとつだけです。
ht[]の中のh[1]~h[122]は空なんですね?
ht.join('')で連結していますが、途中の空部分は無駄(メモリの)になるんでしょうか?
<script type="text/javascript">
var i=0,ht =[],d=128;
ht[0] = '<select id="tekitouni">';
for( i=123; i<=130;i++)
ht[i-122] = '<option value="'+i+'"'+(i==d?' selected':'')+'>'+i+'</option>';
ht[i-122] = '</select>';
document.write( ht.join('') );
</script>
としてましたが、かえって見ずらい記述になってしまいました。
ありがとうございます。
No.2
- 回答日時:
DOMっぽく書いてみました。
multipleがIEはきかないので例外処理が必要です。
<html>
<head>
<script>
window.onload=function(){
setSelect();
}
function setSelect(){
var IE=navigator.userAgent.match("MSIE");
var p=document.getElementById("hoge").firstChild;
while(p){
if(p.nodeName=="P") break;
p=p.nextSibling;
}
if(p.nodeName!="P") return false;
var sb=p.firstChild;
while(sb){
if(sb.nodeName=="INPUT" && sb.type=="submit") break;
sb=sb.nextSibling;
}
if(IE){
var s= document.createElement("<select multiple>");
}else{
var s=document.createElement("select");
s.setAttribute("multiple","multiple");
}
s.setAttribute("name","s1");
s.setAttribute("size","5");
for(var i=123;i<=130;i++){
var o=document.createElement("option");
o.setAttribute("value",i);
o.setAttribute("selected","selected");
var oo=document.createTextNode(i);
o.appendChild(oo);
s.appendChild(o);
}
p.insertBefore(s,sb);
}
</script>
</head>
<body>
<form id="hoge">
<p>
<input type="submit" value="go">
</p>
</form>
</body>
</html>
すみません。、selectedはひとつだけでした。
<multipleがIEはきかないので・・・
そうなんですか。
近々必要になる場面が出てくる予定で、助かりました。
誠にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript 1度きりではなく、繰り返し、挙動が変わるようにしていただきたいです。 1 2022/07/03 15:50
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript jsでは、'で区切った部分を改行することはできない。〇か×か。 1 2022/06/26 19:58
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
リストボックスの4連
-
セレクトメニューで選択された...
-
Selectボックスの幅を自動で広...
-
特定の要素内に入力された文字...
-
Selectの中身をfor文で入れる
-
セレクトメニューの連動 multip...
-
リストボックスと連動したテキ...
-
どちらのほうが処理が早いか
-
ブラウザの戻るボタンを押した...
-
ラジオボタンでポップアップメ...
-
セレクトで選んだ項目を表示さ...
-
JavaScriptでプルダウンのサイ...
-
初歩サンプル(値の型?)でつ...
-
jQuery セレクトボックスで選択...
-
DB(MySQL)、PHP、jQueryの連結
-
メッセージを出したい!
-
JQuery selectが反映されない
-
メールフォームのタグについて...
-
リストボックスに追加した全て...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン 項目が多いので先頭...
-
Selectの中身をfor文で入れる
-
Selectボックスの幅を自動で広...
-
CSVファイルを読みこみ、プルダ...
-
セレクトを全て選択されていな...
-
jQuery セレクトボックスで選択...
-
UWSCのIE操作でプルダウンを選...
-
html selectの内容を初期値に戻す
-
現在時刻を取得してフォームのs...
-
javascriptでの2つのプルダウン...
-
テーブルにおける行(セルにプル...
-
selectタグに直接onChangeを書...
-
【javascript・PHP】プルダウン...
-
セレクトメニューで選択された...
-
ブラウザの戻るボタンを押した...
-
JQuery selectが反映されない
-
<textarea>にプルダウンを表示...
-
プルダウンで現在の年月日を取...
-
リストボックスの項目の順番を...
-
親ウィンドウのリスト値変更
おすすめ情報