<!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练习 | 复选框及编辑模式的更多相关文章

  1. 对jquery操作复选框

    摘要:jquery操作复选框.使用更简洁易懂,思路清晰,逻辑更明了,很实用 <!DOCTYPE html> <html> <head> <meta chars ...

  2. jQuery取复选框值、下拉列表里面的属性值、取单选按钮的属性值、全选按钮、JSON存储、*去空格

    1.jquery取复选框的值<!--引入jquery包--> <script src="../jquery-1.11.2.min.js"></scri ...

  3. jquery判断复选框checkbox是否被选中

    jquery判断复选框checkbox是否被选中 使用is方法 //如果选中返回true //如果未选中返回false .is(':checked');

  4. jquery判断复选框是否选中

    jquery判断复选框是否被选中 $(function(){ $(document).on("click", ".checkbox",function(){ v ...

  5. jQuery操作复选框checkbox技巧总结 ---- 设置选中、取消选中、获取被选中的值、判断是否选中等

    转载:https://blog.csdn.net/chenchunlin526/article/details/77448168 jQuery操作复选框checkbox技巧总结 --- 设置选中.取消 ...

  6. jQuery判断复选框checkbox的选中状态

    通过jQuery设置复选框为选中状态 复选框 <input type="checkbox"/> 错误代码: $("input").attr(&quo ...

  7. jquery实现复选框全选,全不选,反选中的问题

    今天试了一下用jquery选择复选框,本来以为很简单的东西却有bug,于是搜索了一下找到了解决方法. html代码如下(这里没有用任何样式,就没有再放css了): <html> <h ...

  8. jquery操作复选框(checkbox)十二技巧

    jquery操作复选框(checkbox)的12个小技巧. 1.获取单个checkbox选中项(三种写法)$("input:checkbox:checked").val()或者$( ...

  9. 一天搞定jQuery(三)——使用jQuery完成复选框的全选和全不选

    还记得之前我使用JavaScript来实现复选框的全选和全不选效果吗?如果读者初次翻阅本文,可记得看看教你一天玩转JavaScript(七)——使用JavaScript完成复选框的全选和全不选的效果! ...

随机推荐

  1. java GC机制(转)

    http://blog.csdn.net/zsuguangh/article/details/6429592 1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之 ...

  2. SpringMVC源码解读 - HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化

    AbstractDetectingUrlHandlerMapping是通过扫描方式注册Handler,收到请求时由AbstractUrlHandlerMapping的getHandlerInterna ...

  3. 编写高质量代码改善C#程序的157个建议——建议122:以<Company>.<Component>为命名空间命名

    建议122:以<Company>.<Component>为命名空间命名 建议以<Company>.<Component>为程序集命名,比如Microso ...

  4. 编写高质量代码改善C#程序的157个建议——建议111:避免双向耦合

    建议111:避免双向耦合 双向耦合是指两个类型之间相互引用.下面的代码是一种典型的双向耦合: class A { private B b; public void MethodA() { b.Meth ...

  5. 第十六章 IIC协议详解+UART串口读写EEPROM

    十六.IIC协议详解+Uart串口读写EEPROM 本文由杭电网友曾凯峰根据小梅哥FPGA IIC协议基本概念公开课内容整理并最终编写Verilog代码实现使用串口读写EEPROM的功能. 以下为原文 ...

  6. base64编码问题

    最近遇到一个很奇怪的问题:post方式上传文件,因为文件不大,所以直接base64后作为参数扔给服务器.一开始好用,后来出问题了,上传的压缩包再下载后,能双击打开看到压缩包里面的文件,但是解压就报错, ...

  7. .netcore 与 Docker

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  8. c# 求两个数中最大的值

    1.三元运算符: class Program { static void Main(string[] args) { ,); Console.WriteLine("最大数:{0}" ...

  9. WordCount(JAVA实现)

    201631103228,201631101227 1.项目需求 对程序设计语言源文件统计字符数.单词数.行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件. wc. ...

  10. python: list转字符串

    命令: ' '.join(list) 其中,引号中是字符之间的分割符,如“,”,“;”,“\t”等等 如: list = [1, 2, 3, 4, 5] ''.join(list) 结果即为:1234 ...