Repeater 複選框全選

今天作項目,作到一個Repeater控件內部的複選框權限效果,感受有點麻煩,如今整理一下,貢獻給你們!

1、HTML代碼:
< input name ="CheckAll" type ="checkbox" value ="" onclick="javascript:FormSelectAll('form1','CheckBox',this);" />            //用於選擇是否全選的複選框,用javascript函數「FormSelectAll('form1','CheckBox',this);    」實現全選效果,具體參數下文在詳細解釋

< form id ="form1" runat ="server" >
     < asp:Repeater ID ="RptList" runat ="server" >
         < ItemTemplate >
             < input name ="CheckBox" id ="CheckBox" runat ="server" type ="checkbox" value='<%# DataBinder.Eval(Container.DataItem, "F_JobID")% >' />        //使用Repeater 控件綁定checkbox控件,用於選擇單項內容
         </ItemTemplate>
     </asp:Repeater>
</form>
2、Javascript實現全選效果:
function FormSelectAll(formID,EleName,e)     //formID:目標複選框組所在的form表單的ID屬性;Elename:目標複選框組共同的Name屬性;e:用於標識是否全選的複選框自身,用戶判斷是「全選」仍是「全不選」
{
         var Elements = document.getElementById(formID).elements;     //獲取目標複選框組所在的Form表單
         for ( var i = 0; i < Elements.length;i++)
        {
                 if (Elements[i].type == "checkbox" && Elements[i].name.indexOf(EleName) >= 0)     //根據對象類型和對象的name屬性判斷是否爲目標複選框
                {
                        Elements[i].checked = e.checked;     //根據用於控制的複選框的選中狀況判斷是否選中目標複選框
                }
        }
}
3、服務器端執行代碼:
for ( int i = 0; i < this.RptList.Items.Count; i++)                             //根據Repeater 控件的狀況執行循環判斷目標複選框是否被選中
{
    HtmlInputCheckBox CB = (HtmlInputCheckBox) this.RptList.Items[i].FindControl( "CheckBox");         //獲取一個目標複選框狀況
     if (CB.Checked == true)                                             //判斷該複選框是否被選中
     {
        。。。。。                         //程序處理代碼
    }
}
轉載自:
http://zcy-bzp.blog.sohu.com/132637065.html
相關文章
相關標籤/搜索