jQuery练习 | 复选框及编辑模式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>编辑模式</title>
<style type="text/css">
table{
text-align:center;
}
.active{
background-color:red;
color: #FFFFFF;
}
</style>
</head>
<body>
<div>
<input type="button" name="checkAll" value="全选">
<input type="button" name="reverseAll" value="反选">
<input type="button" name="cancleAll" value="取消">
<input type="button" name="edit" value="进入编辑模式">
</div>
<div>
<table border="1">
<thead>
<tr>
<th>选择</th>
<th>主机名</th>
<th>端口</th>
<th>状态</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox"></td>
<td>V1</td>
<td>111.1</td>
<td>在线</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>V2</td>
<td>111.2</td>
<td>在线</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>V3</td>
<td>111,3</td>
<td>在线</td>
</tr>
</tbody>
</table>
</div>
<script src="jquery-1.12.4.js" type="text/javascript"></script>
<script>
//框架加载完就执行js函数
$(function(){
//选中所有页面上的复选框。
$('[name="checkAll"]').bind('click',function() {
$("input[type='checkbox']").prop("checked", true); //*jQuery中input框单独操作方法.prop()
});
//取消所有页面上的复选框。
$('[name="cancleAll"]').bind('click',function() {
$("input[type='checkbox']").prop("checked", false);
});
//反向所有页面上的复选框。
$('[name="reverseAll"]').bind('click',function() {
$("input[type='checkbox']").each(function(k){ //#jQuery的循环语法each,k是当前索引
// this(Dom对象),代指当前循环的每一个元素
// Dom写法
/*
if(this.checked){
this.checked = false;
}else{
this.checked = true;
}
*/
// jQuery写法
/*
if($(this).prop('checked')){
$(this).prop('checked', false);
}else{
$(this).prop('checked', true);
}
*/
// 三元运算var v = 条件? 真值:假值
var v = $(this).prop('checked')?false:true;
$(this).prop('checked',v);
});
});
//对功能按钮“编辑”监控点击事件
$(':input[name="edit"]').click(function(){
//如果退出编辑模式
if($(this).hasClass('active')){ //通过含有某个类进行筛选.hasClass()
$(this).removeClass('active'); //移除样式
$(this).prevAll().prop('disabled', false); //解禁其他功能按钮
$(this).val('进入编辑模式');
//取消checkbox的绑定事件
$(':checkbox').unbind('click');
//根据添加的input中的class属性查找并返回值
$('.my_input').each(function(){
var con = $(this).val();
$(this).parent().html(con);
});
//根据添加的select中的id属性查找全并返回值
$('#my_select').each(function(){
var con4 = $(this).val();
$(this).parent().html(con4);
});
//如果进入编辑模式
}else{
$(this).addClass('active');
$(this).prevAll().prop('disabled', true); //禁用其他功能按钮
$(this).val('退出编辑模式');
//查找循环所有checkbox
$(':checkbox').each(function(){
//如果选项勾上更改为可编辑
if($(this).prop('checked') == true){
//获取td内容并添加input框
var con = $(this).parent().next().text();
var tag = document.createElement('input');
$(tag).val(con).addClass('my_input'); //为添加的input加上共同标识class属性
$(this).parent().next().html(tag); //在其父级标签下加入input
//获取td内容并添加select框
var con4 = $(this).parent().siblings().eq(2).text();
var tag4 =$(document.createElement('select')).append('<option value="在线">在线</option>').append('<option value="离线">离线</option>');
$(tag4).val(con4).attr({id:'my_select'});
$(this).parent().siblings().eq(2).html(tag4);
}
//给选框绑定点击事件
$(this).bind('click', function(){
//如果编辑模式下打钩
if($(this).prop('checked') == true){
//获取td内容并添加input框
var con = $(this).parent().next().text();
var tag = document.createElement('input');
$(tag).val(con).addClass('my_input');
$(this).parent().next().html(tag);
//获取td内容并添加select框
var con4 = $(this).parent().siblings().eq(2).text();
var tag4 =$(document.createElement('select')).append('<option value="在线">在线</option>').append('<option value="离线">离线</option>');
$(tag4).val(con4).attr({id:'my_select'});
$(this).parent().siblings().eq(2).html(tag4);
//如果编辑模式下取消勾选需返回值
}else{
var sel_con = $(this).parent().next().children().val();
$(this).parent().next().html(sel_con);
var sel_con4 = $(this).parent().siblings().eq(2).children().val();
$(this).parent().siblings().eq(2).html(sel_con4)
}
});
});
}
});
});
</script>
</body>
</html>
jQuery练习 | 复选框及编辑模式的更多相关文章
- 对jquery操作复选框
摘要:jquery操作复选框.使用更简洁易懂,思路清晰,逻辑更明了,很实用 <!DOCTYPE html> <html> <head> <meta chars ...
- jQuery取复选框值、下拉列表里面的属性值、取单选按钮的属性值、全选按钮、JSON存储、*去空格
1.jquery取复选框的值<!--引入jquery包--> <script src="../jquery-1.11.2.min.js"></scri ...
- jquery判断复选框checkbox是否被选中
jquery判断复选框checkbox是否被选中 使用is方法 //如果选中返回true //如果未选中返回false .is(':checked');
- jquery判断复选框是否选中
jquery判断复选框是否被选中 $(function(){ $(document).on("click", ".checkbox",function(){ v ...
- jQuery操作复选框checkbox技巧总结 ---- 设置选中、取消选中、获取被选中的值、判断是否选中等
转载:https://blog.csdn.net/chenchunlin526/article/details/77448168 jQuery操作复选框checkbox技巧总结 --- 设置选中.取消 ...
- jQuery判断复选框checkbox的选中状态
通过jQuery设置复选框为选中状态 复选框 <input type="checkbox"/> 错误代码: $("input").attr(&quo ...
- jquery实现复选框全选,全不选,反选中的问题
今天试了一下用jquery选择复选框,本来以为很简单的东西却有bug,于是搜索了一下找到了解决方法. html代码如下(这里没有用任何样式,就没有再放css了): <html> <h ...
- jquery操作复选框(checkbox)十二技巧
jquery操作复选框(checkbox)的12个小技巧. 1.获取单个checkbox选中项(三种写法)$("input:checkbox:checked").val()或者$( ...
- 一天搞定jQuery(三)——使用jQuery完成复选框的全选和全不选
还记得之前我使用JavaScript来实现复选框的全选和全不选效果吗?如果读者初次翻阅本文,可记得看看教你一天玩转JavaScript(七)——使用JavaScript完成复选框的全选和全不选的效果! ...
随机推荐
- SQL*Plus用法指南
SQL是一种命令式的语言,它是用户操作数据库的最重要的一种方式.SQL语句在执行时,需要有一个执行环境. 开发人员在开发软件时,最终的结果是形成一个应用程序.在应用程序中可以嵌入SQL语句,利用这些S ...
- windows10个性化设置
任务栏DIY 日期显示样式 字体
- 执行“hdfs dfs -ls”时报ConnectException
原因可能是指定的端口号不对,该端口号由hdfs-site.xml中的属性"dfs.namenode.rpc-address"指定,即为NameNode的RPC服务端口号. 文件上传 ...
- Ubuntu解压缩zip,tar,tar.gz,tar.bz2【转】
ZIP zip可能是目前使用得最多的文档压缩格式.它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用.缺点就是支持的压缩率不是很高,而tar.gz和tar. ...
- 【小梅哥FPGA进阶教程】第十三章 四通道数字电压表
十三.四通道数字电压表 本文由山东大学研友袁卓贡献,特此感谢 实验目的 设计一个四通道的数字电压表 实验平台 芯航线FPGA核心板.AD/DA模块 实验现象 实现一个四通道的数字电压表,其中可以用按键 ...
- 洛谷 P2596 [ZJOI2006]书架 (splay)
题目描述 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下一本.由于这些 ...
- 数独高阶技巧入门之七——AIC & Nice Loop
AIC(交替推理链,Alternate Inference Chain) 在简单异数链一文中我们介绍过XY-Chain技法,AIC可以看作是XY-Chain的扩展.有别于XY-Chain仅局限于双值格 ...
- ajax 多个setInterval进行ajax请求的页面长时间打开会出现页面卡死问题
多个setInterval进行ajax请求的页面长时间打开会出现页面卡死问题 浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉.当我们执行异步ajax的时候没有问 ...
- c++实验3 链式存储线性表
1.线性表链式存储结构及基本操作算法实现 (1)单链表存储结构类的定义: #include <iostream> using namespace std; template <cla ...
- 小记一次shellscript的麻烦
小记一次shellscript的麻烦 一.起因: 之前写过篇文章 文本分析实例 ,大致的内容就是对 "nginx的web服务器进行日志分析,删除不被访问的截图". 点我打开哔哩哔哩 ...