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完成复选框的全选和全不选的效果! ...
随机推荐
- Discuz核心函数的解析
dz采用的是多入口的方式,在每个入口函数你能看到引用,启动核心类的语句(其余省略),如下: require './source/class/class_core.php'; C::app()-> ...
- 编写高质量代码改善C#程序的157个建议——建议81:使用Parallel简化同步状态下Task的使用
建议81:使用Parallel简化同步状态下Task的使用 在命名空间System.Threading.Tasks中,有一个静态类Parallel简化了在同步状态下的Task的操作.Parallel主 ...
- 9.29学习的js基础
js基础 1.三种js引入方式 a).<input type="button" value="点击事件" onClick="documen ...
- 企业搜索引擎开发之连接器connector(十六)
本人有一段时间没有接触企业搜索引擎之连接器的开发了,连接器是涉及企业搜索引擎一个重要的组件,在数据源与企业搜索引擎中间起一个桥梁的作用,类似于数据库之JDBC,通过连接器将不同数据源的数据适配到企业搜 ...
- [转载]Java线程的两种实现方式
转载:http://baijiahao.baidu.com/s?id=1602265641578157555&wfr=spider&for=pc 前言 线程是程序的一条执行线索,执行路 ...
- VC中CRect类的简单介绍
CRect CRect类与Windows RECT结构相似,并且还包括操作CRect对象和Windows RECT结构的成员函数.在传递LPRECT,LPCRECT或RECT结构作为参数的任何地方,都 ...
- xml构建
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=346252320&site=qq ...
- Replication--修改复制代理配置来查看代理运行情况
1>在复制监视器中选中订阅右键 2>选择代理配置文件 3>将代理配置文件设置为”详细历史记录代理配置文件“,确定以保存 4>重启代理 5>代理运行一段时间后,重启代理 6 ...
- 创建第一个MVC专案--初识MVC
MVC1.0正式版2009就上市了,可自己今年才开始去接触,汗颜~ 自己在学的过程中也看过一些文章,很多都是大致介绍的没有连接数据库实现下操作,直至自己买了本后发现MVC有很强大的数据库操作类已封装好 ...
- centos 安装jenkins
1.Java jdk安装 安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没 ...