黑马程序员技术交流社区
标题:
Jquery问题
[打印本页]
作者:
佟亚鹏
时间:
2012-9-8 10:16
标题:
Jquery问题
本帖最后由 佟亚鹏 于 2012-9-8 12:15 编辑
我想用Jquery实现一个可以编辑的表格,当点击网页的表格的td时,显示出一个文本框,内容为td里原来的内容,当编辑好以后,离开文本框,文本框消失,把修改好的内容在设置到原来的td中,但是运行以后,只能编辑一次,在点击时文本框不出现了,请帮我看下代码那个有问题:
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript" >
$(function () {
//$("input").css("display", "none").attr("size", "6");
//为table的所有td添加点击事件
$("#table td").click(tdClick);
function tdClick() {
var td = $(this);
var text = td.text();
td.text("");
var input = $("<input id='in' type='text' value=" + text + " />");
input.blur(function () {
td.html(input.val());
});
td.append(input);
td.unbind("click");
//转为dom对象
var inputDom = input.get(0);
input.select();
}
});
</script>
复制代码
作者:
李京
时间:
2012-9-8 10:29
本帖最后由 李京 于 2012-9-8 10:57 编辑
QQ截图20120908105656.jpg
(74.61 KB, 下载次数: 5)
下载附件
2012-9-8 10:57 上传
希望可以帮到你~
作者:
佟亚鹏
时间:
2012-9-8 11:04
问题解决,多谢回答
作者:
舒远
时间:
2012-9-8 11:27
本帖最后由 舒远 于 2012-9-8 11:46 编辑
$(function(){
$("td").click(function(e){
var width =$(this).width() < 100 ? 100 : $(this).width();
var text = $.trim($(this).text());
$(this).html("<input type='text' style='width:"+width+"' />");
$("input",this).focus().click(function(event){
event.stopPropagation() ;
}).val(text).blur(function(){
$(this).parent().html($(this).val()).width(width);
});
}).css({'text-align':'center','padding':'0px'});
});
复制代码
我也给实现了一个,以前没做过这个效果,算是锻炼一下。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2