Repeater 复选框全选

今天做项目,做到一个Repeater控件内部的复选框权限效果,感觉有点麻烦,现在整理一下,贡献给大家!

一、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>
二、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;     //根据用于控制的复选框的选中情况判断是否选中目标复选框
                }
        }
}
三、服务器端执行代码:
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

你可能感兴趣的:(JavaScript,js,.net,休闲,Repeater)