// 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インスタンスを使っての方法も教えてください。
前の回答をちょっと手直し。
<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>