首页 新闻 会员 周边 捐助

javascript 求解

0
悬赏园豆:50 [待解决问题]
 1 CheckBox checkAll = (CheckBox)myGridView.HeaderRow.Cells[0].FindControl("checkAll");
 2  List<CheckBox> lists = new List<CheckBox>();
 3  for (int i = 0; i < myGridView.Rows.Count; i++)
 4  {
 5   CheckBox ck = (CheckBox)myGridView.Rows[i].Cells[0].FindControl("chkAcceptReject");
 6    lists.Add(ck);
 7   }            
 9  checkAll.Attributes.Add("onclick", "toggle(this," + lists + ")");
10 
11  Page.ClientScript.RegisterStartupScript(this.GetType(), "toggle",
12  " function toggle(source,lists) {for (var i = 0, n = lists.Count; i < n; i++) {lists[i].checked = source.checked;} }", true);

想写一个checkbox全选的功能,无奈javascript学的不好,还请大婶赐教  为什么点了没反应啊啊啊

Frank_Hsu的主页 Frank_Hsu | 初学一级 | 园豆:152
提问于:2013-05-24 01:45
< >
分享
所有回答(5)
0
checkAll.Attributes.Add("onclick", "toggle(this," + lists + ")");

是这句话的问题,因为它相当于

checkAll.Attributes.Add("onclick", "toggle(this," + lists.ToString() + ")");

不要以为lists会以CheckBox集合的形式传入toggle方法

 

要么你就全后台解决  思路:

CheckBox checkAll = (CheckBox)myGridView.HeaderRow.Cells[0].FindControl("checkAll");
List<CheckBox> lists = new List<CheckBox>();
for (int i = 0; i < myGridView.Rows.Count; i++)
{
    CheckBox ck = (CheckBox)myGridView.Rows[i].Cells[0].FindControl("chkAcceptReject");
    lists.Add(ck);
}            
checkAll.Click += ........FunctionXX(xxx,xxx);//CheckBox的后台点击事件

public void FunctionXX(xxx,xxx)
{
    foreach(CheckBox ck in lists)
    {
        ck.checked = checkAll.checked;
    }
}

 

也可以全前台解决

后台部分

CheckBox checkAll = (CheckBox)myGridView.HeaderRow.Cells[0].FindControl("checkAll");
checkAll.Attributes.Add("onclick", "toggle(this)");

前台部分

function toggle(dom)
{
    var grid = $("#xxxx");//xxxx是DataGrid的ID
    var rows = grid.find("tr");
    var checked = $(dom).attr("checked");
    for(var i=0;i<rows.length;i++)
    {
        $("td :eq(0)",rows.eq(i)).find(":checkbox").attr("checked",checked);
    }
}

大概就是这么个意思

 
TiestoRay | 园豆:687 (小虾三级) | 2013-05-24 07:54
0

因为前台根本没有list这个变量

gunsmoke | 园豆:3592 (老鸟四级) | 2013-05-24 08:14
0

做个全选也要靠后台,简直是浪费资源,浪费性能。。。。。。

yyutudou | 园豆:997 (小虾三级) | 2013-05-24 08:47
0

JQ: 

if($(dom).attr("checked")){
$(dom).attr("checked",false)

}else{
$(dom).attr("checked",true);

}
SpeakHero | 园豆:31 (初学一级) | 2013-06-16 01:14
0

上面几个回答都是。。。js有  List<CheckBox> lists = new List<CheckBox>();?亮了我的眼睛

s_p | 园豆:140 (初学一级) | 2013-06-26 13:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册