求助:CheckBox全选问题
我现在有的代码是用CheckBox执行全选时能全选。
但是用button就是不能全选,点击按钮居然不反应,找了老半天还是不会,请过来帮俺看看该怎么写Button啦!
我的代码:是不是错了。。。。
<input type="button" name="chkall" value="全选" onclick="CA()" title="选择全部歌曲">
以下是全选代码
function CA(){
var frm=document.Form1;
for (var i=0;i<frm.elements.length;i++)
{
var e=frm.elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox'))
{
e.checked=frm.allbox.checked;
if (frm.allbox.checked)
{
hL(e);
}//endif
else
{
dL(e);
}//endelse
}//endif
}//endfor
}
//CheckBox选择项
function CCA(CB)
{
var frm=document.Form1;
if (CB.checked)
hL(CB);
else
dL(CB);
var TB=TO=0;
for (var i=0;i<frm.elements.length;i++)
{
var e=frm.elements[i];
if ((e.name != 'allbox') && (e.type=='checkbox'))
{
TB++;
if (e.checked)
TO++;
}
}
frm.allbox.checked=(TO==TB)?true:false;
}
问题点数:20、回复次数:6Top
1 楼famousun(路漫漫其修远兮,吾将上下而求索)回复于 2004-12-03 10:52:49 得分 5
try this
function selectall()
{
var dom = document.all;
var el = event.srcElement ;
if(el.tagName == "INPUT" && el.type.toLowerCase() == "checkbox")
{
var total = 0 ;
var tchbox = 0 ;
var flag = true ;
for(i=0 ; i< dom.length ;i++)
{
if(dom[i].tagName == "INPUT" && dom[i].type.toLowerCase() == "checkbox" )
{
tchbox++ ;
}
if(dom[i].checked==true && dom[i].tagName == "INPUT" && dom[i].type.toLowerCase() == "checkbox" )
{
total++ ;
}
}
total = el.checked==true ? total : ++total ;
if(total == tchbox)
{
flag = false ;
}
else
{
flag = true ;
}
for(i=0 ; i< dom.length ;i++)
{
if(dom[i].tagName == "INPUT" && el.type.toLowerCase() == "checkbox")
{
dom[i].checked= flag ;
}
}
}
}Top
2 楼morefish(little)回复于 2004-12-03 10:55:30 得分 0
你的CheckBox 是控件组么?
for(i=0;i< form1.allbox.length;i++)
{
form1.allbox[i].checked = true;
}Top
3 楼bitb()回复于 2004-12-03 11:02:02 得分 0
我用
<asp:TemplateColumn HeaderText="<input type=checkbox name=allbox onclick='javascript:CA();' title='全选/全取消'>">
这样能全选,
我想换用点击Button后也能全选该怎么写呀。Top
4 楼zhanqiangz(闲云野鹤-Overriding)回复于 2004-12-03 11:02:04 得分 5
http://blog.csdn.net/zhanqiangz/archive/2004/08/18/78316.aspxTop
5 楼Jacob105(长风)回复于 2004-12-03 11:12:34 得分 5
try this:
function selectall()
{
for(i=1;i<window.document.Form1.elements.length;i++)
{
var e=window.document.Form1.elements[i];
if(e.type=="checkbox")
{
if(window.document.Form1.CheckChoice.checked)
{
e.checked=true;
}
else
{
e.checked=false;
}
}
}
}Top
6 楼morefish(little)回复于 2004-12-03 11:15:21 得分 5
你看看把如果是DataGrid生成的CheckBox他们的名字都是动态生成的,所以你只能用
e.name.indexOf('allbox') != -1 && e.type=='checkbox' 来确定CheckBox控件。Top




