`
happyzpx
  • 浏览: 28164 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

asp下实现全选反选删除 checkbox

    博客分类:
  • ASP
 
阅读更多
asp下实现全选反选删除 checkbox (2012-03-30 20:08:07)转载

    通过ASP如何实现全选反选的操作呢,asp页面中用javascript进行checkbox的全选反选的所有操作。
首先请看下面这样一个javascript事件:
function checkAll(obj)
{
for(var i=0;i<document.all.length;i++)
{
if (document.all(i).type=="checkbox")
{
switch(obj)
{
case 1:document.all(i).checked=true;break; //全选
case 2:document.all(i).checked=false;break; //不选
case 3:{if(document.all(i).checked==true){document.all(i).checked=false;}else{document.all(i).checked=true;}}break; //反选
}
}
}
return false;
}
我们可以这样来触发这个事件:<input type="radio" onclick="checkAll(1)" name="allbox" value="" /> 全选 <input type="radio" onclick="checkAll(2)" name="allbox" checked="true" value="" /> 全不选 <input type="radio" onclick="checkAll(3)" name="allbox" value="" /> 反选
我们给obj传值1的时候就是全选,2的时候就是不选,3的时候就是反选,当然我没有做这么复杂,只做了一个反选按钮,没有选的时候反选就是全选,全选的时候反选就是不选,如果你也是这样想的话,就把代码改成这样的:
function checkAll()
{
for(var i=0;i<document.all.length;i++)
{
if (document.all(i).type=="checkbox")
{
if(document.all(i).checked==true)
{document.all(i).checked=false;}
else{document.all(i).checked=true;}
}
}
return false;
}
然后只需要用一个按钮来触发就可以了。<input onclick="checkAll()" type="button" value="反选">
用这样一个按钮,就可以同时实现上面三个按钮所实现的功能。
代码很简单,document.all就是得到页面中所有的控件,然后逐一判断是不是checkbox,如果是的话判断这个checkbox是否被选中,如果已选中就给置为false,如果没有选中就给置为true就好了。

以前我在asp.net中做这个操作的时候总是把id号一个一个取出来,然后一个一个删除,后来我发现,这样操作要执行多个sql语句,要请求多次sql数据库,这样太浪费资源了,于是就在想能不能用一条sql全解决呢,后来就查到了这个办法,代码如下:
function Delete() //删除
{
var m=0;
flag=false;
var str="";
for(i=0;i<document.all.length;i++)
{
if(document.all(i).type=="checkbox" && document.all(i).checked==true)
{
str+=document.all(i).value+",";
flag=true;
m++;
}
}
if(!flag)
{
alert("你没有选中任何数据");
return false ;
}
if(confirm('您确定要删除以上'+m+'条信息吗?'))
{
location.href="?action=del&idlist="+str;
}
else
{
return false;
}
}
当点击删除按钮的时候执行这个javascript事件,然后把所有的id号用逗号分隔存在一个字符串idlist里再用get方式传给本页面,然后在页面接收到这个请求的时候把字符串用split分隔成数组,拼成类似 delete from information where id=1 or id=2 or id=3 这样的语句,无限的拼下去,然后一次性执行,这样就可以一下解决了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics