[Seasar-user:7558] Re: [Teeda] Ajaxで連動させる2つのプルダウンリスト

出羽 健一 [E-MAIL ADDRESS DELETED]
2007年 5月 9日 (水) 17:33:06 JST


米林さん

出羽です。

> TeedaAjaxを使っていますか?

TeedaAjax とは直接関係ないかも知れませんが、TeedaAjaxを
使う時にハマってしまいそうです。


> すいません、ちょっと分かりません...
> もう少し詳細に教えて頂けますか?

こちらこそ、分かりにくくてすみません。
補足させて頂きます。


まず、HTML及びPageは下記のようになっています。

HTML側
  <select id="categoryId" onchange="searchProductByCategory(this.value)">
    <option value="1">カテゴリ1</option>
    <option value="2">カテゴリ2</option>
  </select>

  <select id="productId">
    <option value="1">商品1</option>
    <option value="2">商品2</option>
  </select>

Page側
    private categoryId;

    private List<Map<String, String>> categoryIdItems;

    @Required
    private productId;

    private List<Map<String, String>> productIdItems;


productIdのセレクトボックスは、categoryIdのセレクトボックスの
値がチェンジした時のタイミングで値がセットされるので、
最初は何も値が入っていません。

この状態で、Page側のproductIdに@Requiredを付けると、
NullLabelがなくなるというTeedaの仕様のためか
productIdのセレクトボックスに値が0件の場合は、
丸ごと消えてしまいます。

このため、categoryIdのセレクトボックスの値をチェンジしても、
値をセットする先がないという問題が出てしまいます。

プルダウンに@Requiredを付けた場合でも、NullLabelが表示されていて、
画面遷移した時にバリデーションがかかるようなパターンも
選択できるようになっていると解決しそうです。

(ひとまず、空文字をNGにするプルダウンリスト用の
独自バリデータを作ればなんとかなりそうですが、
独自色の強いコードになってしまうので、できれば避けたいと思っています。)

以上、よろしくお願いします。


> -----Original Message-----
> From: [E-MAIL ADDRESS DELETED] 
> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of 
> [E-MAIL ADDRESS DELETED]
> Sent: Wednesday, May 09, 2007 3:34 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:7556] Re:[Teeda] Ajaxで連動させる2つのプルダウンリスト
> 
> 米林です。
> 
> From: "出羽 健一" <[E-MAIL ADDRESS DELETED]>
> Sent: Wednesday, May 09, 2007 3:23 PM
> 
> > Teeda(1.0.6)でAjaxで連動するタイプの
> > プルダウンリストを作っています。
> 
> 
> TeedaAjaxを使っていますか?
> 
> > ここで「商品」のプルダウンリストに、必須のアノテーション(@Requreed)を
> > 付与すると、ページ初期表示にと「商品」のプルダウンリストそのものが描画され
> > なくなるため困っています。(この状態で、「商品カテゴリ」のプルダウンリストの
> > 値を変えても、「商品」のプルダウンリストが存在しないので、何も起こりません。)
> 
> すいません、ちょっと分かりません...
> もう少し詳細に教えて頂けますか?
> 
> よろしくお願いします。
> ---
> 米林 正明
> [E-MAIL ADDRESS DELETED]
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 



Seasar-user メーリングリストの案内