表格中的checkbox复选框 全选非全选 公共方法 及提交选中结果
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" />
<title></title>
</head>
<script type="text/javascript" src="js/jquery-1.8.0.js"></script> <body> <div>
<input type="button" value="加载表格体" onclick="showTbody()"/>
</div>
<hr />
<!--///----------------------只要符合下面这个结构就可以用公共方法------------------------>
<table>
<thead>
<tr>
<td><input type="checkbox" class="allCheck"</td>
<td>全选</td>
</tr>
</thead>
<hr /> <tbody id="tbody1">
<!--<tr>
<td><input type="checkbox" /></td>
<td>子复选框1</td>
</tr>-->
</tbody> </table>
<!--///---------------------------------------------------------------------------------->
<hr /> <div >
<input type="button" value="提交" onclick="mySubmit()"/>
</div> </body>
<script>
$(function(){
$(".allCheck").live("click",checkAll); //给全选按钮绑定全选事件
// $(".allCheck").bind("click",checkAll);
/*
1.这里因为thead标签是写好的,所以也可以用bind,如果thead标签中的全选按钮也是动态加载的话
就必须用live方法,或者像生成td那样在生成的同时就马上bind绑定,否则会无效。 2.如果是通用的给类选择器加的方法,还是尽量用live好。
比如 : 这个可以是所有全选复选框的公共方法,只要给每个全选复选框 加上 class="allCheck"即可
这样就不用给每个全选框都绑定一遍这个方法 3.当然也可以给每一个子复选框都加个 class="childCheckBox",然后写个公共的:
$(".childCheckBox").live("click",cancelCheckAll);
即打开代码中的 带有 “///子复选框方案2************* ” 的行
*/ // $(".childCheckBox").live("click",cancelCheckAll); ///子复选框方案2************* }); ///加载表格体方法
function showTbody(){
var obj = $("#tbody1");
var list = [{id:1,name:"1号子复选框"},{id:2,name:"2号子复选框"}]; //开始拼接tbody
$.each(list, function(i,v) {
var tr = $("<tr>").appendTo(obj);
//子复选框
$("<td>").append($("<input>",{type:'checkbox',value:v.id}).bind("click",cancelCheckAll)).appendTo(tr); ///子复选框方案1
// $("<td>").append($("<input>",{type:'checkbox',value:v.id,class:'childCheckBox'})).appendTo(tr); ///子复选框方案2*************
//显示名称
$("<td>",{
text:v.name
}).appendTo(tr); }); } ///-------------------------公共的全选和非全选方法----------------------------- function checkAll(){ ///实现全选和全不选功能
var allchecked = this.checked;
var checks = $(this).closest("table").children("tbody").find(":checkbox");
$.each(checks,function(index,item){
item.checked = allchecked;
})
} function cancelCheckAll(){ ///实现取消任意一个子选项选中时,自动去掉全选的选中状态 var allCheck = $(this).closest("table").children("thead").find(":checkbox").eq(0);
if(!this.checked){
allCheck[0].checked=false;
}
}
/*
这两个方法可以是多处 有全选功能的复选框 的公共方法,只要目标表格的结构符合 table > thead > tbody 结构,就可以调用上面的两个方法
*/
///------------------------------------------------------ ///提交方法
function mySubmit(){
//获取所有选中的复选框对象
var checkeds = $("#tbody1 :checkbox:checked"); ///tbody下的复选框中选中的
if(checkeds.length==0){
alert("请选择复选框!");
return;
}
var checkedId = "";
for(var i=0;i<checkeds.length;i++){
var id = checkeds[i].value;
checkedId+=id+",";
}
checkedId = checkedId.substring(0,checkedId.length-1);//去掉最后的逗号,
var data = "";
data += "&checkedIds="+checkedId;
alert("data: "+data);
/* 下面可以写 ajax 方法请求后台
$.ajax({
url:"",
data:data,
async:true
success:function(response){ }
});*/
} </script> </html>

表格中的checkbox复选框 全选非全选 公共方法 及提交选中结果的更多相关文章
- Web版需求征集系统所得1,servlet中获取checkbox复选框的值
servlet中获取checkbox复选框的值 </tr> <tr> <td align="right">研究类型</td> < ...
- CheckedListBoxControl 实现复选框的单选与多选功能
由于工作需要,需要实现复选框的单选与多选功能,找了好多资料都不是很全,经过两天苦苦的挖挖挖,终于完成啦O(∩_∩)O哈哈~ 用DEV控件中的CheckedListBoxControl控件,当然VS中的 ...
- freemarker中修改和添加功能中包含checkbox复选框默认选中需求的解决方式
今天做的公司ERP系统上线第一天内部使用的,各种BUG铺天盖地,[虽然只是技术总监一个人在测试……],其中有一个就是其中部门管理页面中的修改和添加功能 一个人做一套ERP总是有点疏漏的,虽然里面的东西 ...
- C# dev gridcontrol中添加checkbox复选框
文章来源 csdn weinierbian http://blog.csdn.net/weinierbian/article/details/6255402 添加一列,FieldName为 " ...
- 复选框(checkox)全选、全不选、反选、获得选中项值的用例
HTML部分: <div class="all"> <ul> <li><input type="checkbox" v ...
- easyui复选框树动态加载后台数据,实现自动选中数据库中数据。后台语言是.NET
最近公司做项目用到了easyui复选框树来实现加载不同类型产品.因为我刚刚毕业,现在也算是实习吧,所以一脸懵逼啊.在公司里的一个哥的帮助下 ,我写出来这个EasyUi复选框树了,虽然东西不难,但也是自 ...
- checkbox 多选框 :jquery之全选、全不选、反选
javascriptjqueryselectAll [html] view plaincopy <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...
- 如何在Android的ListView中构建CheckBox和RadioButton列表(支持单选和多选的投票项目示例)
引言 我们在android的APP开发中有时候会碰到提供一个选项列表供用户选择的需求,如在投票类型的项目中,我们提供一些主题给用户选择,每个主题有若干选项,用户对这些主题的选项进行选择,然后提交. 本 ...
- firefox(火狐)下 js中设置checkbox属性checked="checked"已有,但复选框却不显示勾选的原因
刚看到问题时以为是浏览器兼容性的原因,ie.google都能正常显示. 网上查询之后发现是jQuery的attr()方法用的不恰当. jQuery1.6之前使用attr()可以修改 ,从jQuery ...
随机推荐
- 无法启动此程序,因为计算机丢失MSVCR110.dll
解决方法下: 1.首先是打开浏览器,在浏览器的地址栏里输入 http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 这个网址来进行相 ...
- qtp10 安装笔记
windows10系统安装QTP 10 1 QTP10 程序文件夹下,找到“setup”双击它运行安装程序-点击 否 继续安装 2 安装必要组件 3 下一步 选择安装程序目录-安装插件 直到完成安装 ...
- Web API2 使用默认Identity
当您选择个人账户在Web API项目模板,项目包含一个令牌授权服务器验证用户凭证和问题.下面的图显示了相同的凭证流的Web API组件. 发送一个未经授权的请求 首先,运行应用程序并单击按钮调用的AP ...
- HTC Vive 基础入门 基于Unreal Engine 4引擎
主要以讲解介绍HTC Vive设备以及Unreal继承的Steam VR Plugin为主 使用最新的虚幻引擎与Plugin完成VR环境的搭建 然后完成一个基本的VR Games. 任务5: 04-配 ...
- 使用Java泛型返回动态类型
返回一个指定类型的集合,并且clazz必须继承IGeoLog对象或者是其本身 <T extends IGeoLog> List<T> getLogListSql(Class&l ...
- python optparser模块
python的内置模块中对于命令行的解析模块共两个getopt 和 optparse .不过getopt过于简单,往往不能满足需求.此时可以使用optparse模块.这个模块相对于getopt更新,功 ...
- Git——入门操作加创建账号【三】
创建账号 GitHub https://github.com/ 码云 https://gitee.com/ 无论是github还是码云,创建账号都是非常简单快捷的,大家可以自行选择创建下,不过建议最好 ...
- Django+Vue打造购物网站(二)
配置后台管理 xadmin直接使用之前的在线教育的那个就可以了 users/adminx.py #!/usr/bin/env python # -*- coding: utf-8 -*- # @Tim ...
- Get Luffy Out * HDU - 1816(2 - sat 妈的 智障)
题意: 英语限制了我的行动力....就是两个钥匙不能同时用,两个锁至少开一个 建个图 二分就好了...emm....dfs 开头low 写成sccno 然后生活失去希望... #include & ...
- mongoDB 命令整理
库操作 创建数据库 use [database] 查看数据库 show dbs 删除 db.dropDatabase() 备份 mongodump -h[host] ip -d[databasenam ...