A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 佟亚鹏 中级黑马   /  2012-9-8 10:16  /  1062 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 佟亚鹏 于 2012-9-8 12:15 编辑

我想用Jquery实现一个可以编辑的表格,当点击网页的表格的td时,显示出一个文本框,内容为td里原来的内容,当编辑好以后,离开文本框,文本框消失,把修改好的内容在设置到原来的td中,但是运行以后,只能编辑一次,在点击时文本框不出现了,请帮我看下代码那个有问题:
  1. <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
  2.     <script type="text/javascript" >
  3.         $(function () {
  4. //$("input").css("display", "none").attr("size", "6");
  5. //为table的所有td添加点击事件
  6.             $("#table td").click(tdClick);
  7.             function tdClick() {
  8.                 var td = $(this);
  9.                 var text = td.text();
  10.                 td.text("");
  11.                 var input = $("<input id='in' type='text' value=" + text + " />");
  12.                 input.blur(function () {
  13.                     td.html(input.val());
  14.                 });

  15.                 td.append(input);
  16.                 td.unbind("click");
  17.                 //转为dom对象
  18.                 var inputDom = input.get(0);
  19.                 input.select();
  20.             }
  21.         });
  22.     </script>
复制代码

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
本帖最后由 李京 于 2012-9-8 10:57 编辑


希望可以帮到你~
回复 使用道具 举报
问题解决,多谢回答
回复 使用道具 举报
本帖最后由 舒远 于 2012-9-8 11:46 编辑
  1. $(function(){
  2.                 $("td").click(function(e){
  3.                         var width =$(this).width() < 100 ? 100 : $(this).width();
  4.                         var text = $.trim($(this).text());
  5.                         $(this).html("<input type='text' style='width:"+width+"' />");
  6.                         $("input",this).focus().click(function(event){
  7.                                 event.stopPropagation() ;
  8.                         }).val(text).blur(function(){
  9.                                $(this).parent().html($(this).val()).width(width);
  10.                         });
  11.                 }).css({'text-align':'center','padding':'0px'});
  12.         });        
复制代码
我也给实现了一个,以前没做过这个效果,算是锻炼一下。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马