checkbox数据回显问题
一、问题
在用复选框的时候,最常用的无非就是全选,全不选,数据回显等问题!要做的比较灵活!最近做项目的时候,就遇到这些问题,下面从js和JQueyr两方面解决一下全选,全不选,数据回显的问题。
二、HTML页面
<input type="checkbox" id="checkAll"/>全选<br>
<input type="checkbox" name="media" value="100" />新闻
<input type="checkbox" name="media" value="1001" />微信
<input type="checkbox" name="media" value="200" />论坛
<input type="checkbox" name="media" value="300" />问答
<input type="checkbox" name="media" value="1400" />博客
<input type="checkbox" name="media" value="400" />平媒
<br>
<input type="submit" value="添加">
三、JQueyr实现全选,全不选,数据回显
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
//点击全选的判断
$("#checkAll").click(function(){
//看全选 是否被选中
var ischeckAll =$(this).attr("checked");
var checkBoxAll = $("input[name='media']");
if(ischeckAll=="checked"){
//全部选中
$.each(checkBoxAll,function(i,checkbox){
$(checkbox).attr("checked",true);
});
}else{
//全不选
$.each(checkBoxAll,function(i,checkbox){
$(checkbox).attr("checked",false);
});
} }); //点击新闻,微信,论坛,问答,博客,平媒,等的判断
$("input[name='media']").click(function(){
//得到选中的长度
var array=$("input[name='media']:checked").length;
//如果等于6,说明全部被选中,那么全选多选框也要被选中
//如果不等于6,说明全部都没选,那么全选的多选框也要被取消
if(array==6){
$("#checkAll").attr("checked",true);
}else{
$("#checkAll").attr("checked",false);
}
});
});
</script>
注意:引入jquery的js
数据的回显说明一下,数据的回显,最长用到的地方是更新,当你更新的时候,你得把更新前的数据显示到页面中,所以,最好是在页面加载完成的时候,然后,调用window.onload方法,使数据回显到页面!一般我们存储多选框的值的时候,是以逗号隔开的字符串进行存储的,例如:100,1001,1002,1004等,然后,我们可能会把值放到一个隐藏域中,以供在js中调用!本例,我们把值放到一个隐藏域中,然后,在js中调用
<input type="checkbox" id="checkAll"/>全选<br>
<input type="checkbox" name="media" value="100" />新闻
<input type="checkbox" name="media" value="1001" />微信
<input type="checkbox" name="media" value="200" />论坛
<input type="checkbox" name="media" value="300" />问答
<input type="checkbox" name="media" value="1400" />博客
<input type="checkbox" name="media" value="400" />平媒
<br>
<input type="hidden" value="100,1001,200,1400" id="meidaHidden">
<input type="submit" value="添加">
$(function(){
//当页面加载完成的时候,自动调用该方法
window.onload=function(){
//获得所要回显的值,此处为:100,1001,200,1400
var checkeds = $("#meidaHidden").val();
//拆分为字符串数组
var checkArray =checkeds.split(",");
//获得所有的复选框对象
var checkBoxAll = $("input[name='media']");
//获得所有复选框(新闻,微信,论坛,问答,博客,平媒)的value值,然后,用checkArray中的值和他们比较,如果有,则说明该复选框被选中
for(var i=0;i<checkArray.length;i++){
//获取所有复选框对象的value属性,然后,用checkArray[i]和他们匹配,如果有,则说明他应被选中
$.each(checkBoxAll,function(j,checkbox){
//获取复选框的value属性
var checkValue=$(checkbox).val();
if(checkArray[i]==checkValue){
$(checkbox).attr("checked",true);
}
})
}
//全选多选框的回显
var array=$("input[name='media']:checked").length;
//如果等于6,说明全部被选中,那么全选多选框也要被选中
//如果不等于6,说明全部都没选,那么全选的多选框也要被取消
if(array==6){
$("#checkAll").attr("checked",true);
}else{
$("#checkAll").attr("checked",false);
}
};
});
四、JavaScript实现全选,全不选,数据回显
html页面的设计:
<input type="checkbox" id="all" onclick="checkAll(this)"/>全选<br>
<input type="checkbox" id="check01" name="media" value="100" onclick="check(this)" />新闻
<input type="checkbox" id="check01" name="media" value="1001" onclick="check(this)" />微信
<input type="checkbox" id="check03" name="media" value="200" onclick="check(this)"/>论坛
<input type="checkbox" id="check04" name="media" value="300" onclick="check(this)"/>问答
<input type="checkbox" id="check05" name="media" value="1400" onclick="check(this)" />博客
<input type="checkbox" id="check06" name="media" value="400" onclick="check(this)"/>平媒
<br>
<input type="hidden" value="100,1001,200,300,1400,400" id="meidaHidden">
<input type="submit" value="添加">
js中的设计:
<script type="text/javascript">
var number=0;
//单击全选
function checkAll(checkBoxAll){
var elements = document.getElementsByName("media");
if(checkBoxAll.checked){
//全选
for(var i=0;i<elements.length;i++){
var ele = elements[i];
ele.checked=true;
}
number=6;
}else{
//全不选
for(var i=0;i<elements.length;i++){
var ele = elements[i];
ele.checked=false;
}
number=0;
}
}; //点击新闻,微信,论坛,问答,博客,平媒,等的判断
function check(checkbox){
if(checkbox.checked){
number++;
}else{
number--;
} //如果长度为6,那么全选复选框选中,否则不选
var cBoxAll = document.getElementById("all");
if(number==6){
cBoxAll.checked=true;
}else{
cBoxAll.checked=false;
}
};
</script>
js中数据的回显,通JQuery一样,在window.onload中添加
checkbox数据回显问题的更多相关文章
- HTML、jsp页面中radio,checkbox,select数据回显功能,默认被选中问题
最近常常遇到各种复选框.单选框.下拉框的默认被选中的问题,开始也是绞尽脑汁的想办法,今天写一篇学习总结的博文来写一下学习总结. 单选框(radio)默认被选中: 一.jstl技术进行回显 <in ...
- SpringMVC(三) —— 参数绑定和数据回显
参数绑定的过程:就是页面向后台传递参数,后台接受的一个过程. 默认支持的参数类型:(就是你在方法上以形参的形式去定义一下的类型,就可以直接使用它) HttpServletRequest HttpSer ...
- 二十 Struts2的标签库,数据回显(基于值栈)
通用标签库 判断标签:<s:if>.<s:elseif>.<s:else> 循环标签:<s:iterator> 其他常用标签: <s:proper ...
- SpringMVC学习--数据回显
简介 表单提交失败需要再回到表单页面重新填写,原来提交的数据需要重新在页面上显示. 简单数据类型 对于简单数据类型,如:Integer.String.Float等使用Model将传入的参数再放到req ...
- 表单很多数据项录入的时候,提交controller发生异常,数据回显。
1.添加的情况(Model传递Form Data) request.getSession().setAttribute("car", car); //抛出异常的时候,数据回显. 2 ...
- SpringMVC第五篇【方法返回值、数据回显、idea下配置虚拟目录、文件上传】
Controller方法返回值 Controller方法的返回值其实就几种类型,我们来总结一下-. void String ModelAndView redirect重定向 forward转发 数据回 ...
- Struts2第十一篇【简单UI标签、数据回显】
Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签-也就是显示页面的标签-.. 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再被浏览器 ...
- SpringMVC【参数绑定、数据回显、文件上传】
前言 本文主要讲解的知识点如下: 参数绑定 数据回显 文件上传 参数绑定 我们在Controller使用方法参数接收值,就是把web端的值给接收到Controller中处理,这个过程就叫做参数绑定.. ...
- Struts2【UI标签、数据回显、资源国际化】
Struts2UI标签 Sturts2为了简化我们的开发,也为我们提供了UI标签...也就是显示页面的标签..... 但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再 ...
随机推荐
- java的static研究
(1)static关键字:可以用于修饰属性.方法和类. 1,属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一的一份静态的成员变量(不能修饰临时变量 2,方法:static修饰的方法叫做静态, ...
- bzoj2257瓶子和燃料
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2257 以两个瓶子为例,可以倒出它们的差,这是它们容量的gcd的倍数. k个瓶子就可以倒出它们 ...
- CentOS查看显卡及GPU相关信息
lspci | grep -i vga 这样就可以显示机器上的显卡信息,比如 [root@localhost conf]# lspci | grep -i vga01:00.0 VGA compat ...
- HyperLogLog(不精确的去重计数方案)
pfadd 用法和sadd一样 pfcount 用法和scard一样 127.0.0.1:6379> get lan (nil) 127.0.0.1:6379> pfadd lan js ...
- XSS获取cookie并利用
获取cookie利用代码cookie.asp <html> <title>xx</title> <body> <%testfile = Serve ...
- 使用GridFsTemplate在mongodb中存取文件
spring-data-mongodb之gridfs mongodb除了能够存储大量的数据外,还内置了一个非常好用的文件系统.基于mongodb集群的优势,GridFS当然也是分布式的,而且备份也 ...
- canvas填充规则
canvas填充规则 const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); ct ...
- selenium webdriver——JS滚动到最底部
JS控制滚动条的位置: window.scrollTo(x,y); 竖向滚动条置顶 window.scrollTo(0,0); 竖向滚动条置底 window.scrollTo(0,document.b ...
- django一对一数据库建立和进行数据传输的3种方式all()(对象) values()(字典) values_list()(元组)
class Business(models.Model): caption = models.CharField(max_length=32) code = models.CharField(max_ ...
- Linux Tomcat 7.0 管理员登录时"401 Unauthorized" 问题解决方法
http://blog.csdn.net/u010359532/article/details/36055291 tomcat 7.0没有默认值,需要在conf的tomcat-users.xml中设置 ...