`

js 动态table crud

 
阅读更多
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"
	contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="/WEB-INF/paginator.tld" prefix="paginator"%>
<%
    String path = request.getContextPath();
			String basePath = request.getScheme() + "://"
					+ request.getServerName() + ":" + request.getServerPort()
					+ path + "/";
%>
<!doctype html>
<html>
<head>
<%@include file="/frame/libHeader.jsp"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<link rel="stylesheet" href="js/My97DatePicker/skin/WdatePicker.css" type="text/css"></link>
<script type="text/javascript" src="<%=path%>/js/plugin/My97DatePicker4.0/WdatePicker.js"></script>
<script type="text/javascript" src="<%=path%>/js/js_map.js"></script></head>
<script type="text/javascript">
	//获取选择值
	$(function(){
		$("#checkAll").click(function(){
			$("input[name='tid']").attr("checked", this.checked); 
		});
	});
	function delCarType(tid)
	{
		if(confirm("你确定删除此信息吗?")){
			$.get("carTypeAction!delCarType.action?carType.tid="+tid,null,function(data){			
				if(data=="success"){
					location.href = location.href;
				}	
			});
		}
	}
	//$("#txt_title").focus();
	
	/********************表格操作******************************/		
	function saveRtInfo(obj,tid)
	{
		var tr=obj.parentNode.parentNode;		
		 // docusment.getElementById("carTypeName"+rowId).value;
		var carTypeName =tr.cells[0].childNodes[0].value;
		if(carTypeName=='' || carTypeName ==null)
		{
			alert('型号不能为空');
			tr.cells[0].childNodes[0].focus();			
			return;
		}		
		// document.getElementById("carDate"+rowId).value;
		var carDate=tr.cells[1].childNodes[0].value;

		if(carDate=='' || carDate ==null)
		{
			alert('年份不能为空');
			tr.cells[1].childNodes[0].focus();	
			return;
		}		
		//document.getElementById("displacement"+rowId).value;
		var displacement= tr.cells[2].childNodes[0].value;
		if(displacement=='' || displacement ==null)
		{
			alert('排量不能为空');
			tr.cells[2].childNodes[0].focus();
			return;
		}		
		if(!/^(\d+)[\.]+(\d+)|[0-9]$/.test(displacement))
		{	
			alert('输入数字非法!');
			tr.cells[2].childNodes[0].focus();
			return;
		}
		var url= '';		
		if(!tid)
		{
			url='saveCarType.action';
		}
		else
		{
			url='updateCarType.action';
			
		}
		var datas={
			'carType.carTypeName': carTypeName,
			'carType.carDate':carDate,
			'carType.displacement' : displacement,
			'carType.tid':tid?tid:'',
			'carType.carbid':$('#carbid').val(),
			'carType.csid' :$('#csid').val()
		};	
			
		$.ajax({
			url: "findByName.action?data="+new Date(),
			type: 'POST',
			dataType:'text',
			data : datas,
			async : false,
			success : function(data){				
				if(data=='true')
				{
					alert("该车系名称已存在!");
					return false;
				}
				else
				{
					$.ajax({
						url: url,
						type: 'POST',
						dataType:'text',
						data : datas,	
						success : function(data){
							if(data!='')
							{
								tr.cells[0].innerHTML=carTypeName;
								tr.cells[1].innerHTML=carDate
								tr.cells[2].innerHTML=displacement;					
								tr.cells[3].innerHTML='<a href="javascript:;" onclick="updateRowInfo(this,'+data+')"  title="修改">修改</a><a href="javascript:delCarType('+data+')"> 删除</a>' ;
							}
						},
						error: function(data){
							alert(falg==true?"添加失败!" : "修改失败!");
						}
					});
				}							
			},
			error: function(data){								
			}
		});		
		
		
	}
	
	//添加一行
	function addRowMx(obj) {		
		var newrow=carTypeTable.insertRow();
		var rowId= carTypeTable.rows.length-1;
		newrow.id =	rowId;				
		for(var i=0;i<4;i++){
			newrow.insertCell().className="td"+i
		}
		newrow.cells[0].innerHTML='<input type="text" maxlength="30" id="carTypeName'+rowId+'" name="carType.carTypeName" style="width: 200px;height: 20px"/><span id="carTypeNameDefaultTip" class="default-tip"></span><span id="carTypeNameTip"></span>';
		newrow.cells[1].innerHTML="<input type=\"text\" class=\"Wdate\" id='carDate"+rowId+"' name=\"carType.carDate\" onclick=\"WdatePicker({dateFmt:'yyyy',minDate:'1900',maxDate:'2099'})\" readonly=\"readonly\" />";
		newrow.cells[2].innerHTML='<input type="text" id="displacement'+rowId+'" name="carType.displacement" style="width: 150px;height: 20px"/>';
		newrow.cells[3].innerHTML='<a href="javascript:;" onclick="saveRtInfo(this)"> 保存</a><a href="javascript:;" onclick="deleteRow(this)"> 取消</a>';
    }
     //新建取消
    function deleteRow(obj)
    {
    	
    	var tr=obj.parentNode.parentNode;
    	//alert(tr.rowIndex);
		var tbody=tr.parentNode;		
		tbody.removeChild(tr);    	
    }
    
   var map = new Map();   
   function updateRowInfo(obj,tid)
   {
  		if(confirm("确认修改该信息吗?"))
  		{  
  					
  			var tr=obj.parentNode.parentNode;
 			var carTypeName=tr.cells[0].innerHTML; 
 			tr.cells[0].innerHTML='<input type="text" value="'+carTypeName+'"  style="width: 200px;height: 20px"/>';
 			var carDate=tr.cells[1].innerHTML; 			
 			tr.cells[1].innerHTML="<input type=\"text\" class=\"Wdate\" value='"+carDate+"'  onclick=\"WdatePicker({dateFmt:'yyyy',minDate:'1900',maxDate:'2099'})\" readonly=\"readonly\" />";
 			var displacement=tr.cells[2].innerHTML;
 			tr.cells[2].innerHTML='<input type="text" value="'+displacement+'" style="width: 150px;height: 20px"/>';
 			tr.cells[3].innerHTML='<a href="javascript:;" onclick="saveRtInfo(this,'+tid+')"> 保存</a><a href="javascript:;" onclick="resetRow(this,'+tid+')"> 取消</a>';
 			map.put(tid,carTypeName+","+carDate+","+displacement);
  		}
   }
   
   
  function resetRow(obj,tid)
  {
  		var datas=map.get(tid);
  		var stringArray =datas.split(","); 
  		var tr=obj.parentNode.parentNode;
		tr.cells[0].innerHTML=stringArray[0];
		tr.cells[1].innerHTML=stringArray[1];
		tr.cells[2].innerHTML=stringArray[2];
		tr.cells[3].innerHTML='<a href="javascript:;" onclick="updateRowInfo(this,'+tid+')" title="修改">修改</a><a href="javascript:delCarType('+tid+')"> 删除</a>' ;
  		map.remove(tid);  		
  }	
   
	
	
</script>
<body>	
	<div class="admin-bd">
  <!--内容区_s-->
  <div class="admin-con-data fn-clear">
      <form action="carSeriesAction!getCarBrandList.action" method="post" name="formQuery" id="formQuery">
     <div class="fn-left admin-r-con fn-clear">
     	<div class="admin-r-title"><p class="fn-right">
     	<!--
     	 <a href="carTypeAction!addCarTypePage.action?carType.carbid=${carType.carbid}&carType.csid=${carType.csid}" title="新建车型" class="admin-add-btn">新建车型</a>
     	 
     	<a href="<%=path %>/classify/addCarType.jsp?carbid=${carType.carbid}&csid=${carType.csid}" title="新增车型" class="admin-add-btn">新增车型</a>
     	 -->
     	 </p>
     	 <b class="b">当前位置:
     	 	<a  href="brandAction!getCarBrandList.action"> 汽车品牌</a>  >  
     	 	<a href="getCarSeriesList.shtml?seriesVo.bid=${carType.carbid}"> 查看车系</a>
     	 	 > 查看车型</b></div>
        <div class="member-table-data-list">
         <p class="admin-m-title">
			${carSeries.braName }  >  ${carSeries.csName }
		</p>
        <!--table 开始  -->
        	<table class="member-tables" id="carTypeTable">
            	<tr>
                	<!--  <th width="5%"><input type="checkbox" id="checkAll"/></th>-->
                    <th width="20%">型号</th>
                    <th width="10%">年份</th>               
                   <!--<th width="20%">汽车图片</th>-->
                    <th width="10%">排量</th>
                    <th width="10%">操作</th>                    
                </tr>                	
                <c:if test="${empty carCarTypeList}">
					<tr class="nonumber">
						<td colspan="4"><b class="redFont">对不起,没符合您要求的记录!</b></td>
					 </tr>
				</c:if> 
				<c:forEach items="${carCarTypeList}" var="carType" varStatus="s">
					<tr id="${s.count}">
						<!--  <td><input type="checkbox" name="tid"/></td>-->
		                <td>${carType.carTypeName}</td>
		                <td>${carType.carDate}</td>
		               <!--<td><img width='40' height='40' src='<%=path %>/${carType.carPhoto}'/></td>  -->
		                <td>${carType.displacement}</td>			              
		                <td>
		                	<a href="javascript:;" onclick="updateRowInfo(this,${carType.tid})" title="修改">修改</a>
		                	<a href="javascript:delCarType(${carType.tid})"> 删除</a> 
		                </td>
		             </tr>	
				</c:forEach>				                        
            </table>            
            <!--table 结束  -->
        </div>        
  		 <input type="hidden" id='carbid' value="${carType.carbid}" name="carType.carbid">
  		 <input type="hidden" id='csid'  value="${carType.csid}" name="carType.csid">  
  		 <br>
  		 <div>
  		 	   <a href="javascript:addRowMx()" title="新增车型" class="admin-add-btn">新增车型</a>
  		 </div>		 	
      	<div class="PageBar" id="allTeamsPageBar">
       		<paginator:page name="paginator" form="formQuery" action="/carSeriesAction!getCarBrandList.action" />
		</div>
     </div>
     </form>
  </div>
  <!--内容区_e-->
</div>
</body>
</html>
分享到:
评论

相关推荐

    jquery table crud

    "jQuery Table CRUD"指的是使用jQuery来实现表格数据的创建(Create)、读取(Read)、更新(Update)和删除(Delete)功能。这是一种常见的Web应用程序功能,用于管理动态数据。下面我们将深入探讨如何利用jQuery来实现这一...

    vue crud table

    Vue CRUD Table是一个基于Vue.js框架的高度可定制化的表格组件,用于快速构建数据增删改查(CRUD)功能。Vue.js是一个轻量级、高性能的前端JavaScript框架,它以其组件化开发模式和易于上手的特点受到开发者们的广泛...

    JS操作表格代码CRUD操作(很完整)

    在JavaScript(JS)中操作HTML表格是Web开发中常见的任务,尤其在实现CRUD(创建、读取、更新、删除)操作时。本教程将深入探讨如何使用纯JS实现这一功能,无需依赖任何外部库,如jQuery或Angular。 首先,我们需要...

    jtable, 创建基于AJAX的CRUD表的JQuery插件.zip

    jtable, 创建基于AJAX的CRUD表的JQuery插件 什么是 jTablehttp://www.jtable.org jTable是一个用于在不编码HTML或者Javascript的基础上创建基于AJAX的CRUD表的jQuery插件。 它具有以下几个特性:自动创建 HTML ta

    用Struts实现Table的CRUD(create、read、update、delete)

    在这个项目中,我们专注于使用Struts2来实现一个数据表的CRUD操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。 首先,我们需要配置Struts2的核心框架。在`struts.xml`配置文件中,定义...

    react-crud-table:包含所有CRUD操作的表

    在您的项目中以CRUD Table样式包括css。 例子 没有比例子更好的学习方法了。 我们创建了一些组件基本用法的示例。 基本范例 分页示例 基本范例 此示例显示了基本的CRUD(创建,读取,更新和删除)和排序操作。 ...

    react-table-crud-example:React表示例

    React Table示例:带有react-table v7的CRUD App 由CRUD应用程序使用 v7构建一个React Table示例,以通过Axios使用Web API,并通过Router&Bootstrap显示和修改数据。 每个教程都有ID,标题,描述,发布状态。 ...

    js-crud-api:用于PHP-CRUD-API的APIJavaScript客户端库

    JS-CRUD-API 用于的APIJavaScript客户端库 版本0.3的更改 JOINS:使用PHP-CRUD-API更好的API映射,没有更多的joinx,请参见讨论 安装 通过npm: npm我js-crud-api import jscrudapi from 'js-crud-api' ; const ...

    material-table-crud:在material-ui表上执行CRUD

    使用material-ui表对Restful API进行CRUD操作这是一个使用MATERIAL-TABLE库制作的示例用户管理应用程序。 我使用JSONPlaceholder API将USER数据填充到表中。 Material-Table对轻松地对表执行CRUD操作非常有帮助。 ...

    easyui-crud-demo

    《jQuery EasyUI CRUD操作实战详解》 jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列的组件,如对话框、表单、表格等,帮助开发者快速构建功能丰富的Web页面。"easyui-crud-demo" 是一个使用 jQuery ...

    fastweb:jersey+spring+mybatis+angularjs ont table CRUD

    【标题】"fastweb:jersey+spring+mybatis+angularjs one table CRUD"是一个基于特定技术栈的项目,旨在实现一个单表的增删改查(CRUD)功能。这个项目结合了四个主要的技术:Jersey、Spring、MyBatis和AngularJS,...

    avue-crud-数据字典(网络-dicUrl:返回数据格式data:)

    综上所述,"avue-crud-数据字典(网络-dicUrl:返回数据格式data:)"涉及的知识点包括:avue框架的使用、CRUD操作、数据字典的概念、动态获取数据字典的网络请求以及返回的数据格式,以及初始化环境配置文件在项目中...

    Ajax-Basic-CRUD-Table-With-File-Upload-.zip

    Ajax-Basic-CRUD-Table-With-File-Upload-.zip,基本crud表,带有json格式的文件上传、引导和web服务,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态...

    svelte-generic-crud-table:具有CRUD功能的对象数组的不可知Web组件

    或Svelte-component: import SvelteGenericCrudTable from 'svelte-generic-crud-table' 一个自包含的可排序表组件,具有内联编辑选项。 请参阅带有集成式分页器的&lt;table&gt;进行分页。 允许对对象数组进行CRUD操作...

    crud-21.rar

    例如,可能会有步骤说明如何在React或Vue.js前端框架中,结合Node.js和MongoDB后端进行CRUD操作。也可能有详细的示例代码,演示如何使用SQL语句执行这些操作,或者是如何在Django或Express.js中设置路由来处理HTTP...

    spring-data-rest-security-bootstrap-table-crud:spring-boot RepositoryRestResource安全引导表表

    6. 前端资源:HTML模板(如`index.html`)、CSS样式表(如`bootstrap.css`)和JavaScript文件(如`bootstrap-table.js`),这些用于构建用户界面并与后端API交互。 通过整合这些组件,开发者可以创建一个既安全又...

    bootstrap-table页面.zip

    Bootstrap Table是一种基于Bootstrap框架的开源JavaScript插件,用于创建功能丰富的、响应式的表格。这个"bootstrap-table页面.zip"文件显然包含了一个使用Bootstrap Table实现的CRUD(创建、读取、更新、删除)功能...

    express-mysql-passport-jwt-api:使用 mysql table crud 创建 API 服务器,无需 ORM、Passport、JWT

    使用 mysql 表 crud 创建一个 API 服务器,没有 ORM 和通行证本地策略 安装和执行 git clone https://github.com/prashantnirgun/express-mysql-passport-jwt-api &lt;folder&gt; cd npm install npm run dev 配置 将 ....

    elementUI前端CRUD页面

    Element UI 是一个基于 Vue.js 的开源 UI 组件库,它为开发者提供了丰富的组件,用于构建美观、可复用的用户界面。"CRUD" 页面在Web开发中通常指的是创建(Create)、读取(Read)、更新(Update)和删除(Delete)...

    crud.rar_bootstrap php

    在`crud`子文件夹中,可能包含了HTML模板文件(`.php`),其中结合了PHP代码和Bootstrap样式,以及可能的JavaScript文件(`.js`)用于处理表单提交和其他交互行为。开发者需要理解并熟练运用这些技术,才能有效地...

Global site tag (gtag.js) - Google Analytics