<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-348  評論-598  文章-0  trackbacks-0
    這個方法不是太完美,但可以解決JSF的DataTable和SelectOneRadio搭配問題。每條記錄每一行一個radio進行單選,只會選中一條。
    首先,在頁面中datatable的column中加入
                                                <h:selectOneRadio id="xx" value="#{entrance.test}">
                                                    
    <f:selectItem itemValue="#{obj.corpOutInfo.coiId}" itemLabel="#{obj.corpOutInfo.corpName}"/>
                                                
    </h:selectOneRadio>
    然后加入一段jquery的代碼用于在用戶切換選擇的時候,先將所有radio的checked狀態(tài)都置為false。
    <script type="text/javascript">
            jQuery.noConflict();
    //與JSF搭配需要這句話,不然會有沖突
            jQuery(document).ready(function() {

                jQuery(
    ":radio").click(function(){
                    update(
    this);

                 }
    );
            }
    );
            
    </script>
            
    <script type="text/javascript">
            
    function update(currentRadio)
            
    {

                
    var parentTables = jQuery(currentRadio).parents("table"); 
                
    var parentTable = parentTables[0];    

                
    var childDivs = jQuery(parentTable).next("div");        
                
    var childDiv = childDivs[0];        

                jQuery(childDiv).contents().find(
    ":radio").each(function() {
                    
    this.checked = false;
                }
    );
                
                currentRadio.checked 
    = true;
            }


            
    </script>

    后臺綁定一個屬性,但這個屬性的set方法會被調(diào)用多次,但只有一次是有值的,所以用戶選擇了哪一行也好獲得。
        private String test;
        
        
    public String getTest() {
            
    return test;
        }


        
    public void setTest(String test) {
            System.out.println(
    "=========================" + test);
        }


        
    問題算是解決了,實現(xiàn)很簡單,但并不太完美。因為后臺的那個set方法會觸發(fā)很多次,次數(shù)跟當(dāng)前的radio數(shù)量一致,雖然不怎么影響性能,但用著總覺得不爽,后面再完善下。


    ---------------------------------------------------------
    專注移動開發(fā)

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2009-01-11 16:36 TiGERTiAN 閱讀(5453) 評論(5)  編輯  收藏 所屬分類: JavaJSF

    評論:
    # re: JSF中DataTable和SelectOneRadio搭配,每條記錄每一行一個radio進行單選的解決辦法 2009-01-12 12:39 | 千里冰封
    直接用h:outputText畫出HTML語句,這樣豈不是更好,然后在后臺從parameter里面去取這個單選的參數(shù),應(yīng)該也是一種辦法,呵呵  回復(fù)  更多評論
      
    # re: JSF中DataTable和SelectOneRadio搭配,每條記錄每一行一個radio進行單選的解決辦法[未登錄] 2009-01-12 21:38 | tigertian
    @千里冰封
    有個問題,就是你這個方法只能在jsf 1.2中使用,貌似1.1中沒有escape屬性,所以默認escape為true,在output里面畫不出來,會被Html Encode掉,如果單獨使用<input type="radio">控件,會發(fā)現(xiàn)jsf 1.1中的datatable無法把這個純html控件包含進來。而我目前碰到的應(yīng)用環(huán)境正是jsf 1.1,所以我也想找到一個更好的辦法,大家討論討論哈。  回復(fù)  更多評論
      
    # re: JSF中DataTable和SelectOneRadio搭配,每條記錄每一行一個radio進行單選的解決辦法 2009-01-13 08:48 | TiGERTiAN
    @千里冰封
    今天測試了一下,1.1版本的outputText也有escape屬性,但我忘記是哪個控件跟1.2不一樣沒有escape屬性的,有了之后,就可以畫出來了。  回復(fù)  更多評論
      
    # re: JSF中DataTable和SelectOneRadio搭配,每條記錄每一行一個radio進行單選的解決辦法 2009-12-27 21:28 | frankie
    # re: JSF中DataTable和SelectOneRadio搭配,每條記錄每一行一個radio進行單選的解決辦法 2009-12-27 22:17 | TiGERTiAN
    @frankie
    謝謝哈,不過我用的是sun的實現(xiàn)。  回復(fù)  更多評論
      
    主站蜘蛛池模板: 337p日本欧洲亚洲大胆艺术| 中文字幕不卡免费视频| 久久亚洲精品成人综合| 四虎国产精品免费视| 免费精品国偷自产在线在线| 三级网站在线免费观看| 国产成人+综合亚洲+天堂| 亚洲一级特黄特黄的大片 | 亚洲午夜无码久久| 亚洲第一区香蕉_国产a| 中文字幕亚洲乱码熟女一区二区| 国产免费人成在线视频| 成人免费视频软件网站| 国产情侣激情在线视频免费看| 国产精成人品日日拍夜夜免费| 中国videos性高清免费| 猫咪免费人成在线网站| 亚洲av无码一区二区三区天堂| 99热亚洲色精品国产88| 亚洲中文无码av永久| 亚洲特级aaaaaa毛片| 亚洲视频一区在线| 亚洲久本草在线中文字幕| 亚洲Av综合色区无码专区桃色| 国产日韩亚洲大尺度高清| 精品国产亚洲男女在线线电影 | 一级做a爱过程免费视频高清| 亚洲国产成人久久99精品| 在线观看亚洲一区二区| 亚洲精品私拍国产福利在线| 亚洲国产一区二区三区青草影视| 亚洲春色在线视频| 国产成人亚洲综合无码精品| 亚洲国产第一站精品蜜芽| 亚洲精品成人片在线观看精品字幕| 亚洲中文字幕无码中文字在线| 亚洲一级片免费看| 亚洲国产一二三精品无码| 久久精品亚洲一区二区| 久久亚洲AV成人无码软件| 精品亚洲国产成人|