[Seasar2] teeda-extentionのradioでfont装飾
http://d.hatena.ne.jp/mokkouyou2001/20080408/1207639943
の続き
というわけで、本当は、動的radio+ダイナミックプロパティにて
font装飾を行いたかったんだけど、
どうにもできなかったので、結局foreach+ダイナミックプロパティにて対応としました。
koichikさんにはいろいろアドバイスいただいたのですが、こんな回避策になってしまい申し訳ありません。。。
teeda-exampleのradioのソース(SelectOneRadio)に対する変更点
Page
private String aaa; //DTOで使う値 public String value; public int aaaIndex; //ダイナミックプロパティ public String getAaaLabel() { return aaaItems.get(aaaIndex).getValue(); } public String getAaaFontColor() { return getAaaLabel(); } public String getAaaInputValue() { return getAaaLabel(); } public String getAaaValue() { return getAaaLabel(); } public String getAaaInputChecked() { if(getAaaLabel().equals(aaa)) { return "checked"; } else { return null; } } private List<ColorDto> aaaItems;
html(valueが数字なのは動的に扱われているか確認のため。)
<input type="hidden" id="aaaItemsSave" /> <span id="aaaItems"> <input type="radio" name="aaa" id="aaaInput" value="0" checked=""/><font id="aaaFont" color="red"><span id="aaaLabel"/></font> </span>
本当は・・・
動的radioのサンプルにColorDto付け加えて、
fontタグ入れて、
動的radio+ダイナミックプロパティとしたかったんだけどね・・・
以下イメージ
html
<span id="aaa"> <input type="radio" name="aaa" value="red" checked="checked"/><font id="???" color="red">red</font> <input type="radio" name="aaa" value="blue"/><font id="???" color="blue">blue</font> <input type="radio" name="aaa" value="hotpink"/><font id="???" color="hotpink">hotpink</font> </span>
fontタグを追加して、
radioのボタンと、ラベルと、ラベルの装飾色に同一の値を入れたかったんだけど、
fontのid(もしくはname?)をどうしたらいいのかわからなかった・・・
aaaとかにするとfontはうまくいくんだけど、radioが無視されたり・・・
と素敵な動作をしてくれたので、まぁいいやーって感じでした。別に仕事で使うわけではないので
そんな急ぎなわけでもないんですがね(−−;
(そもそもforeachでもまったく困らないし)
もっとも、
radioのラベルとして出す文字を、fontのボディにするわけだから、
そんな簡単にいかねーだろうなぁ・・・とは思っていましたが・・・
ってか・・・あれか???
radioの外側にfontもっていきゃーいいのかな??
今ひらめいた
検証結果
だめでした。
結局idどうふっていいかわからんもんね。
頭が沸いているようです・・・orz