1、首先输入下方的代码:
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>利用jquery给指定的table添加一行、删除一行</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript"
src="<%=request.getContextPath()%>/js/jquery-1.5.1.js"></script>
<野搭贺script type="text/javascript">
2、然后在输入下方的代码:
////////添加一行、删除一行封装方法///////
/**
* 为table指定行添加一行
*
* tab 表id
* row 行数,如:0->第一行 1->第二行 -2->倒数第二行 -1->最后一行
* trHtml 添加行的html代码
*
*/
function addTr(tab, row, trHtml){
//获取table最后一行 $("#tab tr:last")
//获取table第一行 $("#tab tr").eq(0)
//获取table倒数第二行 $("#tab tr").eq(-2)
var $tr=$("#"+tab+" tr").eq(row)
if($tr.size()==0){
alert("指定的table id或行数不存在!")
return
}
$tr.after(trHtml)
}
3、然后在输入下方的代码:
function delTr(ckb){
//获取选中的复选框,然后循环遍历删除
var ckbs=$("input[name="+ckb+"]:checked")
if(ckbs.size()==0){
alert("要删除指定行,需选中要删除的行!")
return
}
ckbs.each(function(){
$(this).parent().parent().remove()
})
}
/**
* 全选
*
* allCkb 全选复选颂派框的id
* items 复选框的name
*/
function allCheck(allCkb, items){
$("#"+allCkb).click(function(){
$('[name='+items+']:checkbox').attr("checked", this.checked )
})
}
////////添加一行、删除一行测试方法///////
$(function(){
//全选
allCheck("allCkb", "ckb")
})
function addTr2(tab, row){
var trHtml="<tr align='center'枝余><td width='30%'><input type='checkbox' name='ckb'/>
</td><td width='30%'>地理</td><td width='30%'>60</td></tr>"
addTr(tab, row, trHtml)
}
function delTr2(){
delTr('ckb')
}
4、然后输入下方的代码:
</script>
</head>
<body>
<table border="1px #ooo" id="tab" cellpadding="0"
cellspacing="0" width="30%">
<tr align="center">
<td width="30%"><input id="allCkb" type="checkbox"/></td>
<td width="30%">科目</td>
<td width="30%">成绩</td>
</tr>
<tr align="center">
<td width="30%"></td>
<td width="30%">语文</td>
<td width="30%">80</td>
</tr>
</table>
<input type="button" onclick="addTr2('tab', -1)" value="添加">
<input type="button" onclick="delTr2()" value="删除">
</body>
</html>
5、然后这样就完成了。
因为TABLE的初始状态只有一个 借据号 万元的表头,无论按钮怎么点锋睁袜,都只会触发一次Button_Add_Click,添加一行。以后每次点击,初始状态都只有表头,所以点击之后只会有一行。所以要用一个东西把你的点击记录存储起来。银激你早嫌可以用VIEWSTATE来存这个TABLE变量,每次PAGE_LOAD的时候把它读出来,每次ONCLICK添加完行之后把TABLE存入VIEWSTATE,这样就OK了。不要随便用静态变量,它会产生一些很BUG的问题。
另外如果VIEWSTATE你觉得不好就用SESSION。总之,在每次POSTBACK后把TABLE存起来就OK了。
因为clone()的表单name属拆裤性都一样后台取参数要用
String[] names = request.getParamterValues("name")
这种方式接收到的是斗坦表单内容数组空御桐
如果用
request.getParamter("name")
只接收一个值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)