[英]add new row in table control by css
我如何通過使用html dom / css來控制來添加新列?其余的18。點擊“添加列”按鈕時,它會多顯示1行(具體取決於按鈕被點擊的次數。
<script>
function fnUpdateColumn(value)
{
document.mainform.submit();
}
</script>
<form name="mainform" action="test.jsp" method="post">
<tr><td>NAME</td><td>DOB</td><td>GENDER</td><td>AGE</td></tr>
<%for(int i =0;i<20;i++){ %>
<tr>
<%for(int j =0;j<4;j++){ %>
<td><input type="text"name="<%=j%>_NAME_<%=i %>"></td>
<%}%>
</tr>
<%}%>
<input type="button" value="Add Column" onclick="fnUpdateColumn('addColumn');">
</form>
<form name="mainform" action="test.jsp" method="post">
<input type="hidden" id="temp"/>
<tr><td>NAME</td><td>DOB</td><td>GENDER</td><td>AGE</td></tr>
<%for(int i =0;i<20;i++){
if (i<2){ %>
<tr>
<td><input type="text"name="NAME_<%=i %>"></td>
</tr>
<%} else {%>
<div id="row_<%=i%>" style="display:none;">
<td><input type="text"name="NAME_<%=i %>"></td>
</div>
<%}%>
<%}%>
<input type="button" value="Add Column" onclick="showRow();">
</form>
<script>
function showRow() {
var temp;
if (document.getElementById("temp").value == "") {
temp = 2;
} else {
temp = document.getElementById("temp").value;
}
document.getElementById("row_"+temp).style.display = "inline-block";
if (temp<20) {
document.getElementById("temp").value = temp+1;
}
}
</script>
這是一個如何進行的示例:
1)進行隱藏輸入,以保存您當前的隱藏行,首先使用空白值對其進行初始化。
2)如果當前行小於2,則對行進行迭代,這意味着這是要顯示的前兩行,否則下一行將放置在隱藏的div中。
3)制作一個JavaScript函數,該函數將在click按鈕事件中觸發。 首先,它正在檢查隱藏值,以查看其值是否不同於初始空白值。 如果為空白,則表示未單擊該按鈕,我們將其初始化為2(第三個字段的ID),否則將從隱藏字段中獲取值。 此后,我們將修改下一個隱藏的div值以顯示它。 在我們檢查是否沒有達到迭代的極限之后。 如果不是,我們將增加temp值的值並將其設置為隱藏字段。
希望這有效,我還沒有測試過。
這是您的完整解決方案,只需復制並粘貼到您的JSP文件中,
注意:將jqueryXXX.js文件添加到您的項目中。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<script type="text/javascript" src="jquery/jquery-2.1.4.min.js"></script>
<body>
hello
<table>
<tr><td>NAME</td><td>DOB</td><td>GENDER</td><td>AGE</td></tr>
<%for(int i =0;i<20;i++){
if(i < 2){ %>
<tr>
<% }else{ %>
<tr id="<%=i+"_row"%>" style="display:none;" >
<%}%>
<%for(int j =0;j<4;j++){%>
<td><input type="text"name="<%=j%>_NAME_<%=i %>"></td>
<%}%>
</tr>
<%}%>
<input type="button" id="addNewRecord" value="Add New Column"/>
</table>
<script type="text/javascript">
$(document).ready(function(){
var nextShowValue = 2;
$( "#addNewRecord" ).click(function() {
$('#'+nextShowValue+'_row').show();
if(nextShowValue < 21){
nextShowValue++;
}else{
alert('no more available rows')
}
});
});
</script>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.