zoukankan      html  css  js  c++  java
  • 如何在repeater中找到checkbox并实现全选删除

    checkbox使用客户端控件,且给repeater里边的checkbox添加ruanat=server属性
    表头中的chkTotal的属性一定不要加此属性。。。。
    然后 全选的javascript代码
        function CheckAll()
      {
       var e=document.aspnetForm.elements;
       var o;
       for(var i=0;i<e.length;i++)
       {
        o = e;    
        if(o.type=="checkbox"&o.id!="chkTotal")
        {
         o.checked = document.getElementById("chkTotal").checked;          
        }  }  }
    之后判定是否有选择项,如果没有提示!
    function SelectOne()
      {
          var e=document.aspnetForm.elements;
       var o;
       var anyonechecked = false;
       for(var i=0;i<e.length;i++)
       {
        o = e;
        if(o.type=="checkbox"& o.checked==true &o.id!="chkTotal")
           {
               anyonechecked = true;
               break;
           }
          }
          if(!anyonechecked)
       {
           alert("必须选择一个项目!");
       } }
    在 删除的按钮加上客户端控件事件 
    后台的删除事件。。。注意  绑定数据时候将主键(要删除时候的唯一索引作为隐藏项放在reperter中)
    protected void btnDelete_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < rptMessList.Items.Count; i++)
            {
                if (((HtmlInputCheckBox)this.rptMessList.Items.FindControl("chkOne")).Checked == true)
                {
                    int k = Ucar.Common.ConvertHelper.GetInteger((rptMessList.Items.FindControl("hfid") as HiddenField).Value);
                    BOMessageDS BOMessmodel = BOMessage.GetModel(k);
                    if (BOMessmodel != null)
                    {
                        BOMessmodel.IsPublisherActive = 0;
                        BOMessage.Update(BOMessmodel);
                        Ucar.Common.ScriptHelper.ShowAlertScript(this.Page, "删除成功!");
                    }
                }
            }
    我后边的删除是逻辑删除,置换状态,大家可以直接删除就可以  谢谢欣赏!
            DataBind();
        }

    <script language="javascript"> 
    <!-- 

    function CA(frm) 

    var trk=0; 
    for (var i=0;i<frm.elements.length;i++) 

    var e=frm.elements
    if ((e.name != 'allbox') && (e.type=='checkbox') && (e.name != '不想被选中的checkbox的名称')) 

    trk++; 
    e.checked=frm.allbox.checked; 
    frm.del.disabled = frm.allbox.checked?false:true;//全选对删除按钮的disabled属性的影响 




    function CCA(frm,CB) 

    var TB=TO=0; 
    for (var i=0;i<frm.elements.length;i++) 

    var e=frm.elements; 
    if ((e.name != 'allbox') && (e.type=='checkbox') && (e.name != '不想被选中的checkbox的名称')) 

    TB++; 
    if (e.checked) 
    TO++; 


    frm.allbox.checked=(TO==TB)?true:false; 

    if (0==TO)//全部未选中和选中一些时对删除按钮的disabled属性的影响 

    frm.del.disabled = true; 

    else 

    frm.del.disabled = false; 



    --> 
    </script> 


    调用方法: 
    全选的名称定为allbox,onclick
    事件执行CA(this.form); 
    选择项的checbox的onclick事件执行CCA(this.form,this);

  • 相关阅读:
    CListCtrl 显示图片及大批量数据的加载速度与闪烁问题
    iPhone开发数组基本用法NSArray与NSMutableArray
    iPhone开发 让viewDidAppear/viewWillAppear 在页面加载前始终调用
    iPhone开发 SDK新手必读
    iPhone开发内存管理
    AfxEnableControlContainer has not been called yet
    ftp上传文件bat脚本
    struts2学习基础配制
    windows server 2008 R2忘记administrator密码
    linux cifs自动挂载远程windows硬盘或文件夹
  • 原文地址:https://www.cnblogs.com/azzhang/p/4231856.html
Copyright © 2011-2022 走看看