`

javascript实现复选框(checkbox)的全选和取消

阅读更多

 这两天在做一个网站的项目,其间要实现复选框的全选和取消功能,一开始我没太从网上找资料,只是凭感觉写了javascript代码,能运行,后来不知道怎么改了,不好使了,这之后就是我将近一天的删代码,写代码,又删、又写的痛苦过程(白天在外面,没能上网查资料)。晚上回到寝室,上网搜索,发现这种代码网上到处都是,自己找了一些,又加上自己的修改,终于搞明白了,特写下此文,便于以后查阅。

代码:

//list.html

<html>
<head>
<title>用户管理</title>
<script language="javascript" src="common.js"></script>
</head>
<body>
<form name="list" method="post" action="">
<table width="500" border="1">
    <tr>
      <td>标记</td>
    </tr>
    <tr>
      <td><input type="checkbox" name="checkbox" value="checkbox"></td>
    </tr>
    <tr>
      <td><input type="checkbox" name="checkbox" value="checkbox"></td>
    </tr>
    <tr>
      <td>全选<input type="checkbox" name="submit" onClick="selectAll(this.form.checkbox,this.form.submit)"></td>
    </tr>
</table>
</form>
</body>
</html>

//common.js

function selectAll(field,control)
{
var num = field.length;
for(i = 0;i < num;i++)
    field[i].checked = control.checked;
}

我在整个过程中遇到了如下一些问题:

1)一开始我的全选是用了一个按钮,<input type="submit" onClick="selectAll()">我javascript代码写的也正确,但就是怎么点都没反应,后来发现是这个按钮的type设置的不对,我设成了"submit",这样的话一点就会提交,由于我form的action并没有设,所以会提交到本页,相当于是刷新了一下,自然看不到“全选”的效果。

2)关于参数传递。最开始我的selectAll()函数没有参数,但后来我发现我有多处涉及到全选的操作,这样我就觉得只写一个函数,而传递不同参数比较好。后来在网上找到了参数的写法(this.form.checkbox之类),最开始我以为会用到form表单的name属性而写成this.list.checkbox发现不起作用,后来才知道this.后面的的"form"不是name值(别人文章中有的form的name属性设成了"form",而我的不是,别人的好使,我的就不好使,代码几乎一样,后来才发现是name属性惹的祸)

3)当checkbox的个数只有一个时,上述代码是不起作用的,在网上看到一种解决方法:在合适的地方添加

<input type="checkbox" name="checkbox" value="checkbox" style="display:none">意即添加一个隐藏的复选框“凑数”,而用户并不知道。

分享到:
评论

相关推荐

    js与jQuery实现checkbox复选框全选/全不选的方法

    先来看看JavaScript实现checkbox复选框全选/全不选的方法。这应该是一个比较实用的前端技巧吧,很多时候我们都需要点击一个checkbox,然后将所有的复选框自动全部选中,比如新浪邮箱中,一些CMS系统的后台中,使用本...

    javascript实现复选框全选或反选

    以下是用原生js实现的复选框全选/反选的实现,选中checkbox的时候,实现全选的效果,并且样式发生改变。 代码最简洁,js行为优化版,复制粘贴即可使用。 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt...

    javascript复选框实现批量选择

    程序员在开发的时候,经常会遇到对查询列表中的记录进行批量操作的情况,实现倒是也不难,用javascript就行,但每次都要重新再写一遍,本人在工作中把它总结为一个模块,记录下来,以便再用。

    dtree新改版-添加checkbox复选框

    由于原版dtree作者没有加上复选框功能,我用来做用户模块权限功能的时候很不好用,网上也找到一些基于dtree添加了checkbox的修改版,但是用起来很不顺手,最后不得不根据自己的需要一再修改成了现在这个版本。...

    javascript使用avalon绑定实现checkbox全选

    下面随便演示一个常见的checkbox全选。 要求:(老掉牙了,还是说一下) 1.勾选了全选框后,下面的子选框全被勾选;没勾选全选框,则子选框全部不勾选 2.子选框如果有一个未勾选,则取消全选框勾选; 3.子选框全部...

    【JavaScript源代码】JavaScript实现表单全选或反选效果.docx

     本文实例为大家分享了JavaScript实现表单全选或反选的具体代码,供大家参考,具体内容如下 表单中常常会用到checkbox复选框,通过复选框做出的列表全选或全不选的效果也是很常见的,比如购物车的商品列表,所以本...

    复选框相关代码

    循环生成复选框 全选、全部选 全选的框 &lt;input type="checkbox" id="chk_SelectAll" onclick="javascript:onSelectAll(this.checked);" /&gt; 循环的框 &lt;input id="screenNumber" type="checkbox" name="checkbox" ...

    Javascript 实现TreeView CheckBox全选效果

    if (ele.type == ‘checkbox’) { var childrenDivID = ele.id.replace(‘CheckBox’, ‘Nodes’); var div = document.getElementById(childrenDivID); if (div != null) { var checkBoxs = div....

    javaScript checkbox 全选/反选及批量删除

    javaScript checkbox 全选/反选及批量删除实现代码,需要的朋友可以参考下。

    html+javascript+bootstrap实现层级多选框全层全选和多选功能

     但是,考虑到如果要做一个选项数不确定、可能非常多,用标签会容易视觉疲劳,同时要求随着选项数的变化,最小程度影响网页布局和效果,于是选择用层级的多选框,也就是设置电脑的那种常见效果。第二层选项可以折叠...

    【JavaScript源代码】js实现添加删除表格操作.docx

     本文实例为大家分享了js实现添加删除表格的具体代码,供大家参考,具体内容如下 效果: 1、点击添加按钮 往table中添加一行 将全选前面的复选框变成false 1.1.当前新增的复选框加上点击事件 2、点击删除按钮 ...

    CheckBox为CheckBoxList实现全选或全取消选择(js代码实现)

    某一个时候,CheckBoxList的选择太多,用户需要一个全选或全取消的功能。下面使用Javascript来实现它。 准备好一个对象: MusicType 代码如下: using System; using System.Collections.Generic; using System.Linq;...

    javascript 设置某DIV区域内的checkbox复选框

    主要用到dom的两个函数document.getElementById(id)和document.getElementsByTagName(name),希望对写复选框全选的虾们有些许帮助。

    全选复选框JavaScript编写小结(附代码)

    2.单击下面的复选框,全部点击上,全选框被选中,否则全选框没有选中。 html样式 爱 好 &lt;label xss=removed&gt;&lt;input type=checkbox name=fav id= value=苹果 class=btn/&gt;苹果 &lt;label xss=removed&gt;&...

    Gridview使用CheckBox全选与单选采用js实现同时高亮显示选择行

    Insus.NET对Gridview使用CheckBox单选与全选功能再次进行简单演示,选中的行,使用高亮显示,让用户一目了然看到哪一行被选择了。本例中,使用前端脚本Javascript来实现。还是先看看Insus.NET做出来的效果: Insus...

    JavaScript特效大全.rar

    图片列表:鼠标移入/移出改变图片透明度 简易选项卡 简易JS年历 单一按钮显示/隐藏一播放列表收缩展开 提示框效果 鼠标移过,修改图片路径 复选框(checkbox)全选/全不选/返选 用typeof查看数据类型等很多

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    70、原生JavaScript获取复选框的值 71、原生JavaScript判断是否为邮箱 72、原生JavaScript判断是否有列表中的危险字符 73、原生JavaScript判断字符串是否大于规定的长度 74、原生JavaScript判断字符串是为网址不区分...

Global site tag (gtag.js) - Google Analytics