kxbin
          成功留給有準備的人
          posts - 10,  comments - 35,  trackbacks - 0

          點擊表格后可直接編輯,回車或鼠標點擊頁面其他地方后編輯生效,按Esc可取消編輯

          第一種單擊表格可以編輯的方法

          //相當于在頁面中的 body標簽加上onload事件
          $(function() {
          ??? //找到所有的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);
          ??????????????????? break;

          1. ??????????????? case 27://按下 esc鍵,取消修改,把文本框變成文本
            ??????????????????? td.html(oldText);
            ??????????????????? break;
            ??????????? }
            ??????? });
            ??? });
            });


          第二種單擊表格可以編輯的方法

          $(document).ready(function(){
          ??? var tds = $("td");
          ??? tds.click(tdClick);
          });

          function tdClick(){
          ??? var tdnode = $(this);
          ??? var tdtext = tdnode.text();
          ??? tdnode.html("");
          ??? var input = $("<input>");
          ??? input.val(tdtext); //??? input.attr("value",tdtext);
          ??? input.keyup(function(event){
          ??????? var myEvent = event || window.event;
          ??????? var keyCode = myEvent.keyCode;
          ??????? if(keyCode == 13){
          ??????????? var inputnode = $(this);
          ??????????? var inputtext = inputnode.val();
          ??????????? var td = inputnode.parent();
          ??????????? td.html(inputtext);
          ??????????? td.click(tdClick);
          ??????? }
          ??????? if(keyCode == 27){? //判斷是否按下ESC鍵
          ??????????? $(this).parent().html(tdtext);
          ??????????? $(this).parent().click(tdClick);
          ??????? }
          ??? });

          ??? tdnode.append(input);
          ??? tdnode.children("input").trigger("select");
          ??? //輸入框失去焦點,所執行的方法
          ??? input.blur(function(){
          ??????? tdnode.html($(this).val());
          ??????? tdnode.click(tdClick);
          ??? });
          ??? tdnode.unbind("click");
          }

          posted on 2010-07-05 08:51 kxbin 閱讀(1926) 評論(1)  編輯  收藏 所屬分類: AJAX

          FeedBack:
          # re: JQuery實現可編輯的表格
          2013-03-19 15:10 | 在線
          學校  回復  更多評論
            
          你恨一個人是因為你愛他;你喜歡一個人,是因為他身上有你沒有的;你討厭一個人是因為他身上有你有的東西;你經常在別人面前批評某人,其實潛意識中是想接近他。

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(5)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          J2EE

          java技術網站

          Linux

          平時常去的網站

          數據庫

          電影網站

          網站設計

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 乐平市| 大洼县| 汝城县| 宝丰县| 白朗县| 呈贡县| 互助| 吴江市| 平度市| 天全县| 临西县| 镇原县| 来安县| 泸溪县| 彭泽县| 志丹县| 勃利县| 宣汉县| 玉龙| 家居| 新乐市| 永福县| 伊金霍洛旗| 象州县| 合江县| 徐闻县| 临夏市| 浦北县| 诸暨市| 武义县| 波密县| 新绛县| 伊宁县| 枣强县| 建瓯市| 万盛区| 姚安县| 三原县| 桓台县| 邵武市| 柯坪县|