当前位置:编程学习 > C#/ASP.NET >>

如何解决ASP控件的复选框全选

不是HTML的复选框,是ASP的复选框控件,不知道用JS可不可以解决,目前自己还没有找到好方法,希望有高手 能解决一下,在后台的也可以! --------------------编程问答-------------------- 举个例子,就是我一按一个名为CHECKALL的复选框控件,那么其余的复选框就全选中了,反之也一样 --------------------编程问答-------------------- http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx

这里有例子 --------------------编程问答-------------------- 不知道为什么,用控件的CheckedChanged的事件似乎没反应,不知道是什么缘故... --------------------编程问答-------------------- 控件的CheckedChanged的事件似乎没反应,不知道大家碰到过这种问题吗
  protected void checkall_CheckedChanged(object sender, EventArgs e)
    {
        for(int i=0;i<gvBook.Rows.Count;i++)
        {
            CheckBox cb=(gvBook.Rows[i].FindControl("cnbSelect")) as CheckBox;
            if(cb.Checked==true)
            {
                cb.Checked=false;
            }
            else
                cb.Checked=true;
        }
    }

设了断点,调试的时候,当复选框的checked变了的时候,这一点反应都没有,不知道怎么回事 --------------------编程问答-------------------- AutoPostback设置为True了吗? --------------------编程问答-------------------- 啊,把这个给忘了 --------------------编程问答-------------------- 可以了,谢谢,不知道用JS可不可以写! --------------------编程问答-------------------- 没明白你具体的想法.给你一个js函数你自己改改吧

function SetCheckBoxState(id)
{
    var dom=document.getElementsByTagName("INPUT");   //文档中的所有Input元素
    var el=event.srcElement;//触发事件的本元素
    if(el.tagName=="INPUT"&&el.type.toLowerCase()=="checkbox")//如果本元素是checkbox
    {
        for(i=0;i<dom.length;i++)
        {
            if(dom[i].type.toLowerCase()=="checkbox"&&dom[i].id.indexOf(id)>-1)
            {
                //将同一列的所有其它checkbox的checked设为false

                if (el.id!=dom[i].id)
                {
                    dom[i].checked=false;
                }
            }
        }
    }
}
--------------------编程问答--------------------
引用 7 楼 opstmj 的回复:
可以了,谢谢,不知道用JS可不可以写!


当然可以,只要能通过id正确的找到复选框就可以了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,