- 締切済み
複数のプルダウンの連動とリンク
複数の連動するプルダウンを作成し、さらに最後のページをリンクで 飛ばしたいのですが、java初心者のためそのように記述してよいのか 分かりません。 3つのプルダウンであれば他のページに記述例があったのですが、 増やす時などにどこをいじればよいか分かりませんでした。 下記ソースは他サイトからのものですが、最後のプルダウンにリンク貼れますか? 他の記述でもかまいませんので教えてください。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <script type="text/javascript"><!-- function ResetOptions( index ) { var select = document.getElementById( "select" + index ); while( select ) { for( var i = 0, len = select.length; i < len; i++ ) { select.options[0] = null; } CreateOption( select, "", "項目" + ( index - 1 ) + "を選択してください" ); index++; select = document.getElementById( "select" + index ); } } function CreateOption( select, key, value ) { var option = document.createElement( "OPTION" ); option.setAttribute( "value", key ); var text = document.createTextNode( value ); option.appendChild( text ); select.appendChild( option ); } function CreateOptions( index, value, pleaseSelect ) { var select = document.getElementById( "select" + index ); if( ! select ) { return; } for( var i = 0, len = select.length; i < len; i++ ) { select.options[0] = null; } var option, text, list; if( index > 1 ) { if( value ) { list = dataList[index-1][value]; } else { ResetOptions( index ); return; } } else { list = dataList[0]; } if( pleaseSelect ) { CreateOption( select, "", "↓選択してください" ); } for( var key in list ) { CreateOption( select, key, list[key] ); } ResetOptions( index + 1 ); } var dataList = [ { "asia": "アジア", "europe": "ヨーロッパ", "south_america": "南米" }, { "asia" : { "japan": "日本", "korea": "韓国" }, "europe": { "italy": "イタリア", "spain": "スペイン", "sweden": "スウェーデン" }, "south_america": { "brazil": "ブラジル", "argentina": "アルゼンチン" } }, { "japan": { "": "38位" }, "korea": { "": "45位" }, "italy": { "": "3位" }, "spain": { "": "4位" }, "sweden": { "": "30位" }, "brazil": { "": "2位" }, "argentina": { "": "1位" } } ]; window.onload = function() { CreateOptions( 1, null, true ); ResetOptions( 2 ); }; //--></script> </head> <body> <h1>サッカー世界ランク</h1> <p>地域:<select id="select1" onchange="CreateOptions( 2, this.options[this.selectedIndex].value, true );"></select></p> <p>国:<select id="select2" onchange="CreateOptions( 3, this.options[this.selectedIndex].value, false );"></select></p> <p>順位:<select id="select3"></select></p> </body> </html>
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- bvltiggeari
- ベストアンサー率76% (33/43)
NO.1です。 「分かってるよ!」と思われるかもしれませんが一応… もし社内にできる方がいないのであれば、 外注(お金を払って作ってもらう)という手もあります。 私もそうですが、個人的に依頼されて作る方も大勢いらっしゃいます。 (個人は会社と違い破格の安さです) ここにそれっぽいコードを書いてもいいのですが、 失礼ながらもう1つの回答をした時に「こういう感じと提示しても 実際の内容に修正できなそう」と感じてしまいました。 意外と質問の数も多いですし…。 お急ぎでないなら、勉強が1番だと思います。 JavaScriptも書籍はたくさんあります。 ガンバって下さい!
- bvltiggeari
- ベストアンサー率76% (33/43)
http://qanda.rakuten.ne.jp/qa7817436.htmlで回答した者です。 先ほどのと違い、こちらはそれなりに高度です。 > 下記ソースは他サイトからのものですが、最後のプルダウンにリンク貼れますか? 「最後のページをリンクで飛ばしたい」の意味が掴み兼ねますが、 ほとんどのことがJavaScriptで可能です。 > 増やす時などにどこをいじればよいか分かりませんでした。 この認識が間違っています。 この場合、ドコかをコピペすれば増えていくという単純なものではありません。 なので「複数」という曖昧な言葉では恐らくまた同様の質問をするかと思われます。 もっと具体的に「こうしたい!」という提示をして下さい。 それと気になったのですが、先ほどのを合わせてこれは何のサイトですか? 趣味であれば、そんなに慌てず理解を深めてから作っていった方が、 後々項目の変更なども柔軟にできていいと思いますよ?
補足
ご丁寧に有難うございます。javascriptとはとても深く難しいのですね。 コピーペーストで何とかなると思っていたのですが、無理そうで残念です。 今会社で社内のポータルサイトを作成していて、質問形式で絞込み最後に答えを表示したいと思いました。質問は多いものでは6つ、少ないものであれば2つで答えにたどりつくというものです。 しかし、私には難しすぎたようです。 色々とアドバイス有難うございました。 基礎から勉強しようと思います。