您的位置:首页 > Web前端 > JQuery

jquery 版本的动态编辑表格 一

2014-03-01 15:57 417 查看
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>练习</title>
</head>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<style type="text/css">
.user{
color: #DFDFDF;
}
table {
border: 1px solid black;
/*修正单元格之间的边框不能合并*/
border-collapse: collapse;
width:600px;
}
table td {
border: 1px solid black;
width: 25%;
}
table th {
border: 1px solid black;
width: 25%;
}
tbody th {
background-color: #A3BAE9;
}
</style>
<body>
<div>
<form name="form1" id="form1" >
username:<input type="text" id="username" name='user'  />
mail:<input type="text" id="mail" name="user" />
phone:<input type="text" id="phone" name="user" />
<input type="button" value="添加" id="add" />
</form>
</div>
<div style="margin-top:50px;">
<table  id="table">
<tr>
<th align="center" >username</th>
<th align="center" >mail</th>
<th align="center" >phone</th>
<th align="center" >操作</th>
</tr>
<tr>
<td align="center">huangyanxiong</td>
<td align="center">huang@qq.com</td>
<td align="center">12345678912</td>
<td align="center">
<input type="button" value="编辑" name="editInput">
<input type="button" value="删除" name="delInput">
</td>
</tr>
</table>
</div>
</body>
<script type="text/javascript">
$(document).ready(function(){
/*
一开始以为做一个可以动态编辑的表格很简单,虽然开始的时候用javascript做过一次,
在jquery下又是不一样的了,可是做起来之后问题真的很多,
而且还很难解决,不断的要看文档,但是没有办法,不然我现在还对jquery不是很熟悉
,就是希望通过自己写简单的项目来试试手,增加自己对jquery的熟悉度,如果你也跟着做下去相信你会涨姿势的了,
以下我刚写完第一个的版本的jquery编辑表格遇到的问题,以前老师讲的都是皮毛,只是知道一两个简单的选择器,再加一些
简单的方法,并没有怎么深入,现在自己就深入了解,没有想到jquery还真多东西研究的
这样会存在一个问题就是表格中已经存在一些原有的表格行数据并且没有按过添加按钮时时就不能进行编辑和删除,需要对代码进行调整
*/
/*
给添加按钮定义一个点击事件,并且获取用户值创建表格行进行存储
*/
$('#add').click(function(){
var td=new Array();
var editInput="<input type='button' value='编辑' name='editInput'/>";
var delInput="<input type='button' value='删除' name='delInput'/>";
var i=0;

$("input[name='user']").each(function(){
td[i]="<td align='center'>"+$(this).val()+"</td>";  //专门获取属性值
i++;
});
$('#table').append('<tr>'+td.join('')+"<td align='center'>"+editInput+' '+delInput+"</td>"+'</tr>');
console.info($('form[name="form1"]'));
/*
为删除按钮添加点击事件并删除表格行
*/
$("input[name='delInput']").click(function(){
if (confirm('确定要删除吗')) {
$(this).parent().parent().remove();  //jquery最大特点可以自己删除自己
};
});

/*
为删除按钮添加点击事件并编辑和保存表格行
*/
$("input[name='editInput']").click(function(){
var i=1;
if ($(this).val()=='编辑') {
$(this).parent().siblings().each(function(){
$(this).html('<input type="text" value='+'"'+$(this).text()+'"'+'style="border-width: 0px;border: #FFFFFF;width:'+($(this).width()-i)+'px;height:'+($(this).height()-5)+'px;"'+' />');
i++;
});
$(this).val('保存');
return false;
};
if ($(this).val()=='保存') {
$(this).parent().siblings().each(function(){
$(this).text($(this).children().val());
i++;
});
$(this).val('编辑');
return false;
};
});
});
});
</script>
</html>


本文出自 “Freax” 博客,请务必保留此出处http://freax.blog.51cto.com/6614733/1365514
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: