JQuery应用实例:可以编辑的表格

十 23rd, 2008

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2008/10/23/jquerytdclick.html

最简单的一个表格用来测试.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf8">
 
    <title>JQuery应用实例:可以编辑的表格</title>
    <link type="text/css" rel="stylesheet" href="css.css">
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="jqueryedit.js"></script>
<style type="text/css">
<!--
table,td {
    border-collapse:collapse;
    border: 1px solid black;
}
-->
</style>
</head>
<body>
    <table>
        <tbody>
        <tr>
            <td>5678</td>
            <td>1234</td>
        </tr>
        </tbody>
    </table>
</body>
</html>
 
下面是我引入的jqueryedit.js的js文件.
 
//在网页加载时,让所有的td有一个点击的事件
$(document).ready(function(){
    var tds= $("td");
    tds.click(function(){
       //0.保存当前的td节点
        var td =$(this);
       //1.取出当前td中的文本内容保存起来
        var text = td.text();
       //2.清空td中的所有的内容
        td.html("");//也可以使用td.empty();
       //3.建一个input的文本框标签.
        var input = $("<input>");
       //4.设置文本框的值是保存起来的文本内空
        input.attr("varlue",text);
       //4.5文本框可以响应键盘按下的事件.主要用于回车确认
        input.keyup(function(event){
            //0.获取当前用户按下的键值
            //解决不同浏览器事件对象的差异
            var myEvent = event || window.event;
            var kcode = myEvent.keyCode;
            //1.比较是否是回车键.
            if(kcode == 13){
                var inputnode = $(this);
                //2.得到保存当前文本框的内容
                var intputext = inputnode.val();
                //3.清空td中的内容
                var tdNode = inputnode.parent();
                //4.装保存的内容放到td标签中.
                tdNode.html(intputext);
                //5.让td重新有点击事件.
                tdNode.click(tdclick);   
            }
 
        });
           //5.装文本框加入到td中.
        td.append(input); //也可以使用input,appendTo(td)
        //5.5让文本框中的文字高亮.如下使用get可以得到dom对象.这也是jqueryedit变成javascript的方法 .
            var inputdom = input.get(0);
            inputdom.select();
           //6.不在响应onclick.清除td上的点击事件.
        td.unbind("tdclick")
 
    });
});
 
function tdclick(){
      //0.保存当前的td节点
        var td =$(this);
       //1.取出当前td中的文本内容保存起来
        var text = td.text();
       //2.清空td中的所有的内容
        td.html("");//也可以使用td.empty();
       //3.建一个input的文本框标签.
        var input = $("<input>");
       //4.设置文本框的值是保存起来的文本内空
        input.attr("varlue",text);
       //4.5文本框可以响应键盘按下的事件.主要用于回车确认
        input.keyup(function(event){
            //0.获取当前用户按下的键值
            //解决不同浏览器事件对象的差异
            var myEvent = event || window.event;
            var kcode = myEvent.keyCode;
            //1.比较是否是回车键.
            if(kcode == 13){
                var inputnode = $(this);
                //2.得到保存当前文本框的内容
                var intputext = inputnode.val();
                //3.清空td中的内容
                var tdNode = inputnode.parent();
                //4.装保存的内容放到td标签中.
                tdNode.html(intputext);
                //5.让td重新有点击事件.
                tdNode.click(tdclick);   
            }
        });
           //5.装文本框加入到td中.
        td.append(input); //也可以使用input,appendTo(td)
        //5.5让文本框中的文字高亮.如下使用get可以得到dom对象.这也是jqueryedit变成javascript的方法 .
            var inputdom = input.get(0);
            inputdom.select();
           //6.不在响应onclick.清除td上的点击事件.
        td.unbind("click")
}

 

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
标签:
目前还没有任何评论.