前提・実現したいこと
Javaから渡されたリストをセレクトボックスに表示したいです。
発生している問題・エラーメッセージ
テキストのないセレクトボックスが作成されてしまいます。
試したこと
①まず最初にリストが渡されることを確認するため下記のように記述しました。
<div> <select id="sample" name="example" size="5" ondblclick="myFnc();" style="width: 100%"> <option th:value="${list[0]}" th:text="${list[0]}"></option> <option th:value="${list[1]}" th:text="${list[1]}"></option> <option th:value="${list[2]}" th:text="${list[2]}"></option> </select> </div>
②次に同じことを今度はfor文でリストの数だけ回して記述しようとしました。
(本当はlist[i]としたかったのですが、まずはきちんと表示されるのを確認するために下記のようにしています)
<div> <select id="sample" name="example" size="5" ondblclick="myFnc();" style="width: 100%"> <script type="text/javascript"> for (var i = 0; i < 10; i++) { document.write("<option th:value=\"${list[0]}\" th:text=\"${list[0]}\"></option>"); } </script> </select> </div>
しかし、結果は文字列が何もないセレクトボックスが生成されていました。
項目数は10個ありました。
③最後にエスケープなどの記述の仕方がおかしかったのではないかと思い、もう一段階簡単なfor文を試しました。
<div> <select id="sample" name="example" size="5" ondblclick="myFnc();" style="width: 100%"> <script type="text/javascript"> for (var i = 0; i < 10; i++) { document.write("<option value=\"選択肢1\">sample1</option>"); } </script> </select> </div>
今度は期待通り文字列の表示されたセレクトボックスが生成されました。
③からエスケープの仕方は間違っていないと思うのですが、なぜ②がうまくいかないのでしょうか?
補足情報(FW/ツールのバージョンなど)
bootstrap4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/19 01:00