• datalist 全选


    JS:
     
    function AddRemoveValues(oChk)    //选择或反选单项时调用的function
        {
             if(oChk.checked)
             {
                 document.getElementById('TextBox1').value +=oChk.value + "," ;
                 var allSelect = true;
                 for(var   i=0;i<form1.elements.length;i++)   
                 {   
                     if(form1.elements[i].type=="checkbox")   
                     {
                         if(form1.elements[i].checked == false && form1.elements[i].id != "chk_SelectAll")
                         {
                             allSelect = false;
                         }
                     }
                 }
                 
                 if(allSelect)
                 {
                     document.getElementById('chk_SelectAll').checked = true;
                 }
             }
             else
             {
                 document.getElementById('TextBox1').value = document.getElementById('TextBox1').value.replace(oChk.value+",","");
                 document.getElementById('chk_SelectAll').checked = false;
             }
        }

    function selectAll(chkAll)   //全选或反选时调用的function
        {
            if(chkAll.checked)
            {
                var txt = document.getElementById('TextBox1');
                for(var   i=0;i<form1.elements.length;i++)   
                {   
                    if(form1.elements[i].type=="checkbox")   
                    {
                        form1.elements[i].checked = true;
                        if(form1.elements[i].value != "on")
                        {
                            txt.value += form1.elements[i].value + ',';
                        }
                    }
                }
            }
            else
            {
                for(var i=0;i<form1.elements.length;i++)   
                {   
                    if(form1.elements[i].type=="checkbox")   
                    {
                        form1.elements[i].checked = false;
                    }
                }
                document.getElementById('TextBox1').value = '';
            }
        }



        aspx:

    datalist 的ItemTemplate项
    <input type="checkbox" id="chkSelect" runat="server" checked="false" onclick="AddRemoveValues(this)"
       
    footerTemplate项

    <asp:CheckBox id="chk_SelectAll" Text="全选" runat="server" checked="false" onclick="javascript:return selectAll(this)" />


    CS:
                string s = "";
                for (int i = 0; i < datalist1.Items.Count; i++)
                {
                    HtmlInputCheckBox cbox = (HtmlInputCheckBox)datalist1.Items[i].FindControl("chkSelect");
                    if (cbox.Checked == true)
                    {
                        s = cbox.Value.ToString();
                        member.updatehouse("", userID, s);
                    }
                }

    用FindControl查找控件chkselect ,再判断chkselect 是否被选中,选中了就进行操作。
    不过这样有个问题,如果一个页面几十上百个被选中,我现在要操作数据库,岂不是碰到一个就要去连接数据库操作一次。。。谁有好的办法,请留言
  • 相关阅读:
    python高级特性和高阶函数
    代理模式及案例
    我的报错错误记录
    摘抄-编码规范
    测试java的Lambda语法
    测试IDEA将新建项目提交到github上
    js处理科学计数法
    测试java操作运算符
    java根据模板生成,导出word和pdf(aspose.words实现word转换pdf)
    sqlserver日期函数
  • 原文地址:https://www.cnblogs.com/jackrebel/p/1085089.html
Copyright © 2020-2023  润新知