1. 程式人生 > >JQuery實現表格點選就可以修改

JQuery實現表格點選就可以修改

我們看到有些網站表格內容點選就可以直接修改,修改完後,點選回車鍵就能將修改內容顯示成表格內容,最經典的例子:QQ簽名,不點選時候看著是一段文字,點選後就能輸入,點選編輯個性簽名就能出現能夠輸入的文字框。所以在頁面中也做一個這種效果的表格

   思想:給表格td註冊一個onclick事件,當點選時候記住文字內容,並且將td表格程式設計一個輸入的文字框,並且文字框Value的值改成以前td內容,對文字框修改後,點選回車鍵同時記住文字框內容,讓後將文字框內容再寫入到td標籤裡邊

   HTML頁面:
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN">
<html>
  <head>
   <title>JQuery示例:可以編輯的表格</title>
   
    <link type="text/css" rel="stylesheet"href="css/edit.css"/>
    <script type="text/javascript"src="js/jquery.js"></script>
    <script type="text/javascript"src="js/jqueryedit.js"></script>
  </head>
  <!-- 期望表格資料一點選就可以修改-->
  <body>
      <table>
         <tbody>
            <tr>
               <td>編輯個性簽名</td>
               <td>12345645</td>
            </tr>
         </tbody>
      </table>
  </body>
</html>
 
JS檔案內容:

//在頁面裝載時,讓所有的td都擁有點選事件
$(document).ready(function(){
   //找到所有td節點
    var tds =$("td");
   //給所有的td節點增加點選事件
   tds.click(tdclick);
});

function tdclick(){
    varclickfunction = this;
   //0,獲取當前的td節點
    var td =$(this);
   //1,取出當前td中的文字內容儲存起來
    var text =$(this).text();
   //2,清空td裡邊內同
   td.html("");
   //3,建立一個文字框,也就是建一個input節點
    var input =$("<input>");
   //4,設定文字框中值是儲存起來的文字內容
   input.attr("value",text);
   //4.5讓文字框可以相應鍵盤按下的事件
   input.keyup(function(event){
      //記牌器當前使用者按下的鍵值
       var myEvent= event || window.event;//獲取不同瀏覽器中的event物件
       var kcode =myEvent.keyCode;
      //判斷是否是回車鍵按下
       if(kcode ==13){
          varinputnode = $(this);
         //獲取當前文字框的內容
          var inputext= inputnode.val();
         //清空td裡邊的內容,然後將內容填充到裡邊
          var tdNode =inputnode.parent();
         tdNode.html(inputext);