人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Java Jspを使っています。ドロップダウンリストを
// CommentsAdd Star
//<select name="begin" size="1">
// <%
// for(int j=1;j<nens.length;j++){
// %>
// <option value="<%="nen"+j %>"><%=nens[j] %></option>
// <%
// }
// %>
// </select><br>
で2007から2014年まで表示させています。これで2008を選んだら、後のドロップダウンリストで、2008-2014年を表示させたいのですが、方法を教えてください。
http://q.hatena.ne.jp/1488264311で回答を得たのですが、この回答では、
2008を選んだ時に2009-2014を表示する回答ですので、2008を選んだ時に2008-2014を表示する記述を教えてください。
また、以前の回答は、難しすぎて理解不能なので、ArrayListインスタンスを使っての方法も教えてください。

●質問者: kojiro_i619
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●200ポイント

前の回答をちょっと手直し。

<select name="begin" size="1">
<%
 for(int j=1;j<nens.length;j++){
%>
 <option value="<%="nen"+j %>"><%=nens[j] %></option>
<%
 }
%>
</select><br>
<!-- ここまで、質問文 -->

<!-- ここから、回答 -->
<select name="finish" size="1"></select> 

<script>
window.addEventListener("DOMContentLoaded", function() {
 var begin = document.querySelector('select[name="begin"]');
 var finish = document.querySelector('select[name="finish"]');
 begin.addEventListener("change", function() {
 var s = "";
 var selected = false;
 Array.prototype.forEach.call(begin.options, function(opt) {
 if (opt.selected) {
 selected = true;
 }
 if (selected) {
 s += '<option value="' + opt.value + '">' + opt.innerHTML + '</option>';
 }
 })
 finish.innerHTML = s;
 });
});
</script>

kojiro_i619さんのコメント
いつも、ありがとうございます。 質問があります。addEventListenerメソッドを使っているのでしょうが、 ・初級者に、丁寧に説明されている、ないしは、あなたが理解するのに使った、本、webサイトを教えてください。ちなみに、私は、山田先生のJacascript本格入門を買いましたが、理解不能です。それぞれのメソッドや使う例について、そこを開けば各論での丁寧な記述が、あるというのが、ほしいです。

kojiro_i619さんのコメント
・質問の2です。いつも、的確な回答をいただいておりますが、黒のバックに、色についた文字・・これは、なんというソフトなのでしょうか?

a-kuma3さんのコメント
質問のひとつ目には、参考になりそうな回答ができなさそうです。 javascript に触れる前に、プログラムはいくつかの言語で書けたので、後は具体的な事例を吸収していくだけでした。 C や Fortran で、手続き的な処理の書き方を覚えて、 OS/2 や Windows の C で、イベント駆動のプログラムの感覚を覚えて、 C++ で、オブジェクト指向が分かって、 その後くらいに HTML と javascript に触れたんだったかなあ、と。 なので、参考にしているのは、もっぱらリファレンスと、他人のコードです。 - [https://developer.mozilla.org/ja/JavaScript/Reference:title=Javascript リファレンス - MDN] - [https://developer.mozilla.org/ja/Gecko_DOM_Reference:title=DOM リファレンス - MDN] - [https://developer.mozilla.org/ja/CSS_Reference:title=CSS リファレンス - MDN] javascript をさわりだしたころは、仕様もブラウザでバラバラな状況で、リファレンスよりは、ここを見てたような気がします。 - [http://www.tohoho-web.com/:title] # 昔とは、内容が随分と変わりました 実際に手を動かさないと覚えられないので、教えて!goo とかで HTML や javascript の質問を見つけては回答する、というのをやってました。 「JavaScript本格入門」という本は読んだことがないのですが、以下のレビューがつくような本のようです。 - [https://www.amazon.co.jp/gp/customer-reviews/R3U2PWBBEOE10C/ref=cm_cr_dp_d_rvw_ttl?ie=UTF8&ASIN=477418411X:title] ふたつ目の質問についてです。 はてな記法の「[http://hatenadiary.g.hatena.ne.jp/keyword/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E8%89%B2%E4%BB%98%E3%81%91%E3%81%97%E3%81%A6%E8%A8%98%E8%BF%B0%E3%81%99%E3%82%8B%EF%BC%88%E3%82%B7%E3%83%B3%E3%82%BF%E3%83%83%E3%82%AF%E3%82%B9%E3%83%BB%E3%83%8F%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%88%EF%BC%89:title=スーパーpre記法]」というやつを使ってます。 この回答の回答欄は、こんな感じになってます。 >> 前の回答をちょっと手直し。 &gt;|html| <tt>&lt;select&nbsp;name=&quot;begin&quot;&nbsp;size=&quot;1&quot;&gt;</tt> <tt>&lt;%</tt> <tt>&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;j=1;j&lt;nens.length;j++){</tt> <tt>%&gt;</tt> <tt>&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value=&quot;&lt;%=&quot;nen&quot;+j&nbsp;%&gt;&quot;&gt;&lt;%=nens[j]&nbsp;%&gt;&lt;/option&gt;</tt> <tt>&lt;%</tt> <tt>&nbsp;&nbsp;&nbsp;&nbsp;}</tt> <tt>%&gt;</tt> <tt>&lt;/select&gt;&lt;br&gt;</tt> <tt>&lt;!--&nbsp;ここまで、質問文&nbsp;--&gt;</tt> ...&nbsp;(省略) <tt>});</tt> <tt>&lt;/script&gt;</tt> ||&lt;

kojiro_i619さんのコメント
私は、長年Basicをやってきて、Visual Basic->ASP.NET->Javaとやっているところです。JavaScriptの理解について、参考に致します。今後とも、よろしくお願いいたします。

a-kuma3さんのコメント
ASP.NET や JSP をやってるってことは、Webサーバとクライアントのブラウザのどちらで処理が動いているイメージはある、ということですよね。 こちらについても、触れておきます。 >> また、以前の回答は、難しすぎて理解不能なので、ArrayListインスタンスを使っての方法も教えてください。 << ArrayList を使う、ということは JSP 上のコードですから、開始の年を選んだときにリクエストを飛ばさなきゃいけません。 SELECT で項目を選んだだけでは、デフォルトの動作ではリクエストが飛ばないので、リクエストを飛ばすための javascript のコードを書かなきゃならない。 つまり、JSP で終了の年を作る処理を書く場合でも javascript のことは意識しなきゃいけない。 終了の年を選んだあとには、これらが含まれている form を submit するわけですから、開始の年を選んだときと、全体の submit をしたときの区別がつくようにしてあげなければいけない。 何かと考慮しなきゃいけなくなることが増えるので、javascript の範囲だけで記述できる方が考えることが少なくて済む、という判断です。

kojiro_i619さんのコメント
何となく、言われることは、分かる気がします。ASP.NETでは、実際にWebを作成しました。SQLServerとVisual Basicを使ってですが、レンタルサーバーで、データベースの場所と、Webの場所が物理的に(たぶん違う機器)違っていて、マシンキーをweb.configに書き込んだりして、成功しました。このJavaでは、webでのツールをコードで書かないといけない(Beansはありますが)のが原則で、見栄えが良くないですが、サーバーが安いようなので、アップまでするかもしれません。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ