asp+jquery可编辑表格,更新到数据库

客户要求后台直接点击修改数据,使用jquery可以很容易实现,不过过程中还不是那么顺利,调试的过程中,发现要引入js脚本,必须使用type="text/javascript"而不是language="javascript"或者type="javascript"。

1.这里为了方便演示,就静态的显示数据了;
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
 <html xmlns="http://www.w3.org/1999/xhtml">  
 <head>  
     <title>JQuery实现可编辑的表格</title>  
     <link href="editTable.css" rel="stylesheet" type="text/css" />  
     <script src="jquery.js" type="text/javascript"></script>  

 </head>  
  <body>  
      <table>  
          <tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th></tr>
		  <tr>
              <td >1235467</td>  
              <td >987654321</td> 
              <td >987654321</td> 
			<td >123546789</td>  
              <td > 987654321</td>  
          </tr>  
          <tr>  
              <td >12354678</td>  
              <td >987654321</td> 
              <td >987654321</td> 
			<td >123546789</td>  
              <td > 987654321</td>  
          </tr> 
          <tr>  
              <td >123546789</td>  
              <td >987654321</td> 
              <td >987654321</td> 
			<td >123546789</td>  
              <td > 987654321</td>  
          </tr> 
	</table>
  </body>  
  </html>  
<script type="text/javascript">
    $(function(){      //相当于在页面中的body标签加上onload事件  
        //找到所有的td节点  
        var tds=$("td");  
        //给所有的td添加点击事件  
        tds.click(function(){  
            //获得当前点击的对象  
            var td=$(this);  
            //取出当前td的文本内容保存起来  
           var oldText=td.text();  
           //建立一个文本框,设置文本框的值为保存的值     
           var input=$("<input type='text' value='"+oldText+"'/>");  
           //将当前td对象内容设置为input  
           td.html(input);  
           //设置文本框的点击事件失效  
           input.click(function(){  
               return false;  
           });  
           //设置文本框的样式  
           input.css("border-width","0");                
           input.css("font-size","16px");  
           input.css("text-align","center");  
           //设置文本框宽度等于td的宽度  
           input.width(td.width());  
           //当文本框得到焦点时触发全选事件    
           input.trigger("focus").trigger("select");   
           //当文本框失去焦点时重新变为文本  
           input.blur(function(){  
               var input_blur=$(this);  
               //保存当前文本框的内容  
               var newText=input_blur.val();   
               td.html(newText);   
           });   
           //响应键盘事件  
           input.keyup(function(event){  
               // 获取键值  
               var keyEvent=event || window.event;  
               var key=keyEvent.keyCode;  
               //获得当前对象  
               var input_blur=$(this);  
               switch(key)  
               {  
                   case 13://按下回车键,保存当前文本框的内容  
                       var newText=input_blur.val();   
                       td.html(newText); 
					   var tdchs = td.parent("tr").children("td");
					   var i = tdchs.eq(0).text();
					   var c = td.attr("name");
				$.post("save.asp?id="+i+"&column="+c+"&value="+newText,null,function(data){
					alert(data);
				});						   
                   break;  
                     
                   case 27://按下esc键,取消修改,把文本框变成文本  
                       td.html(oldText);   
                   break;  
               }  
           });  
       });  
   });  
</script>


2.更新到数据库save.asp

<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
<TITLE>编辑通讯录</TITLE>
<link rel="stylesheet" href="Images/CssAdmin.css">
<script type="text/javascript" src="../Script/Admin.js"></script>
</HEAD>
<!--#include file="../Include/Const.asp" -->
<!--#include file="../Include/ConnSiteData.asp" -->

<BODY>
<% 
dim id,col,val
id = Request.QueryString("id")
col = Request.QueryString("column")
val = Request.QueryString("value")
dim rs
    set rs = server.createobject("adodb.recordset")
	sql="select * from Ameav_Contact where ID = "&id
      rs.open sql,conn,1,3

	  rs(col) = val

	rs.update
	rs.close
    set rs=nothing 
	response.write "updated"
	
%>
</body>
</html>

你可能感兴趣的:(JavaScript,jquery,css,SQL Server,asp)