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是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再 ...
随机推荐
- VS2010 C++环境下DLL和LIB文件的生成与调试 备忘
利用VS2010工具,调试DLL文件的方法现总结如下: 在一个解决方案中生成两个工程,假设MYDLL和MYDLG两个工程,前者是DLL工程,后者DLG调用前边的DLL工程.设置如下: 目录如下:图,本 ...
- 剪贴板增强---Kawvin增强剪贴板_V2.0
#Persistent SetWorkingDir,%A_ScriptDir% ;设置工作目录 #MaxThreadsPerHotkey ;最大热键数量 #NoEnv ;#Warn #SingleIn ...
- 腾讯互娱开源分布式开发框架Pebble
构建游戏世界的Pebble 愿景:出色的游戏服务器端底层框架 现代游戏项目中,为了让更多的玩家能在一起玩,游戏服务器所需要承载的在线玩家数量越来越多.同时为了让游戏更好玩,越来越多复杂的业务逻辑都 ...
- nginx限制请求之三:Nginx+Lua+Redis 对请求进行限制
相关文章: <高可用服务设计之二:Rate limiting 限流与降级> <nginx限制请求之一:(ngx_http_limit_conn_module)模块> <n ...
- [转]MVC 经验总结_序
<appSettings> <add key="vs:EnableBrowserLink" value="false"/> </a ...
- Script_Notepad++如何调试VBS脚本
一.NotePad++安装 1. 下载并安装Notepad++,安装步骤一路Next就可以了. 二.NppExec插件安装和配置 1. 下载并解压 NppExec_041_dll_Unicode.zi ...
- python HTMLTestRunner.py
Mac下HTMLTestRunner.py存放路径: -/anaconda/lib/python3.6/site-packages/HTMLTestRunner.py 已经更改,python3可以直接 ...
- Mysql插入数据报错java.sql.SQLException: Incorrect string value: '\xF0\x9F\x93\x8D\xE6\x88...'
今天读取solr里面的数据,往mysql插入时报错, Incorrect string value: '\xF0\x9F\x93\x8D\xE8\x88...' for column 'title' ...
- js 按字段分组
var data = [{"id":"32b80b76-a81e-4545-8065-1e7c57180801","userId":&quo ...
- Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解
1.一对一 (One to One) 共三种情况: 1.1 主键共享 1.2 外键共享 1.3 中间表关联 1.1 code: @Entity public class arti ...