いつもお世話になっております。
早速本題に入らせていただきます。
やりたいこと
上記の画像の[Exce]ボタンの右側にもう1つ枠を用意し選択した要素を
右側の枠に移動し右側のものをList化してjava側に返したいのです。
画像では[要素1]となっていますが、本来は人名がはいっています。
その人名をList化して送り返したいです。
進捗
上記の画面までは自分で実装することができました。
しかし今のやり方だともう一度「田中十八朗」さんのみを選択し追加すると
右側のリストの「田中十九朗」さんが書き換わってしまいます。
原因は
右側のリストの長さを固定値で作ってしまっていること
javascriptのfor文がおかしいこと
とわかってはいるのですが、解決方法がわかりません。
一番いいのは可変長のリストを生成することなのですが、生成の仕方がわからず。
リストへの挿入方法も、作成したリストの表示方法もわかりません。
どなたかご教授願います。
進捗2
回答者様のやり方でやったらリストボックス間の移動と動的なリスト生成ができました。
ありがとうございました。
もう1つ疑問点があります。
それは動的生成(今回であれば右側のリスト)をjava側に返す方法です。
こちらも回答者様のやり方でやってみたのですがNULLが帰ってきてしまいます。
どこが悪いのかどなたかご教授願えないでしょうか。
疑問点
Nullが帰ってくる理由を考えたんですが、
右側のリストはhtmlで作ってしまっているためStruts2のactionのような受け渡しができないんじゃないか
という疑問が浮かび上がってきました。
これは可能なのでしょうか?
自分の送り方が悪いのでしょうか?
よろしくお願いします。
現在までの進捗具合
javaはフレームワークとしてStruts2を使っており、Beanを使用して左側のリストを作成しています。
html
1 2<!-- 右側リスト --> 3<div class="ib-box" > 4 <form name="recipientList" action="" > 5 <select id="rList" name="rList" multiple style="width: 140px;" size="10" > 6 </select> 7 </form> 8</div> 9 10<!-- 送信ボタン --> 11<div class="ib-box" > 12 <div class="buttonGroup"> 13 <s:submit method="debug" value="送信"/> 14 </div> 15</div> 16
java
1//選択グループ取得用 2private List<String> rList; 3public List<String> getrList() {return rList;} 4public void setrList(List<String> rList) {this.rList = rList;} 5 6//push照会側の検索ボタンを押した処理 7public String debug() throws Exception { 8 if(this.rList == null){ 9 System.out.println("null"); 10 }else{ 11 System.out.println("Notnull"); 12 } 13 return "success"; 14} 15 16
のような実装をしています。(フェイクのため誤字脱字があるかも知れません)
希望的観測
上記はリストの見出しの値に裏で別の値を持たせられるらしく課帰結しました。
あとはその情報をjavaでどう抜き出せばいいかだけです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/08 05:14