• ベストアンサー

プルダウンのリスト(リンクは不要)っぽいものを作りたいのですが

HPでキリ番をゲットした人の一覧をプルダウンでみれるようなリスト?を作りたいと思っています。 普通に<select>で作ってもよいのですが、キリ番は増えていくので外部ファイルで管理したいと思うのですがどうしたらよいのやら、、、 イメージとしては配列を使って追加していける感じなんですが??? //キリ番を獲得した人数の合計 var gokei=3; //キリ番を獲得した人の一覧の配列 var ichiran=new Array(); ichiran[0]="100番 花子さん"; ichiran[1]="111番 太郎さん"; ichiran[2]="123番 次郎さん"; こんな感じで後は合計人数に合わせて、配列を読み込んでリストに反映させて、、、とすればなんとなくできそうなできなさそうな。。。ここまでしかソースを考える事ができませんでした(汗) しかも逆順になるようにしたいのです。つまり一番上が123→111→100という感じに。 プルダウンにならなくてもコンパクトで且つワンクリックで一覧が見れる方法があれば何でも結構ですので教えて下さい。 よろしくお願い致します。<(_ _*)>

質問者が選んだベストアンサー

  • ベストアンサー
  • 665
  • ベストアンサー率72% (18/25)
回答No.1

逆順にしたいなら、 ループで配列の数値を1ずつ下げていけばいいです。 以下のコードをJSファイルとして保存し、 HTML文書の表示したい場所にscript要素を記述して 保存したJSファイルを読み込ませてください。 var ichiran = new Array( "100番 花子", "111番 太郎", "123番 次郎", "200番 三郎"); document.write("<select name=\"ichiran\">\n"); for (var i = ichiran.length - 1; i >= 0; i--) { document.write("<option>" + ichiran[i] + "</option>\n"); } document.write("</select>\n");

jamslot
質問者

お礼

ご回答ありがとうございます。 ご指導頂きまして、イメージしていた通りのソースとリストになりました!

その他の回答 (1)

回答No.2

実現方法は実にいろいろあります。 環境と知識によりいろいろ制限される事もありますが、 とにかく詰め込み理想系を考えると CGIでの対応が一番です。 完全にデータファイルを別管理出来ますし 閲覧者の環境に左右されません。 出来ればこちらをお勧めします。 その上で容易で動的な実現方法としての JavaScript ですが、未対応や意図的に無効にしている方への配慮はどうするのかがポイントかと。 それから、単にファイルの更新として考えると データファイルも JavaScript の外部ファイルも HTML のファイルも手間等更新する事には変わりがない。 (唯一、ファイルのタイムスタンプを意識している場合くらいしか影響はないかと思いますが。) とすると、HTMLで直接書いている方が 閲覧者の環境等配慮が少なくて済み、かえって楽かも・・・。 尚、プルダウン自体を JavaScript, CSS を用いてデザインに細工をする事も出来ますが・・・。 結局、何の為に外部ファイルで管理と思っているのかがポイントですね。 その仕掛けを実現する為に目的に反する事態になっては・・・。 尚、技術的な事でよりデータのみを別に管理したいのなら #1の方の回答の改良策として var ichiran = new Array( "100番 花子", "111番 太郎", "123番 次郎", "200番 三郎"); の配列(データ)の部分のみを別ファイルにするという方法もあります。 JavaScript は HTML に読み込まれたその場所,状態で評価,実行されますので、別ファイルかどうかは一切動作に関係ありません。

jamslot
質問者

お礼

ご回答ありがとうございます。 いろいろなアドバイスを頂いて感謝しております。 cgiはまだまだ勉強中でして、理解するには至っていません(恥) リストを外部にしたかった理由はindex.html内をすっきりとさせたかったからです。入り組んだテーブルレイアウトになってしまってまして、、、余分な物はできるだけ外にと思いましたのでw

関連するQ&A

専門家に質問してみよう