漂亮的JQuery可编辑表格

edittable

可编辑表格在网页开发中非常常见,尤其是与后台做Ajax应用。花了点时间学习了下这种表格的制作方法,有JQuery的时候一切都是那么简单。如果换成纯JavaScript的话一系列的DOM操作的确相当繁琐,JQuery中实现起来却异常简单。

核心JQuery代码在这里:

$(function () {
	//隔行换色
	$("tbody tr:odd").css("background-color", "#eee");
	var numId = $("tbody td");
	numId.click(function () {
		var tdIns = $(this);
		if (tdIns.children("input").length > 0) {
			return false;
		}
		var inputIns = $("<input type="text" />"); //需要插入的输入框代码
		var text = $(this).html();
		inputIns.width(tdIns.width()); //设置input与td宽度一致
		inputIns.val(tdIns.html()); //将本来单元格td内容copy到插入的文本框input中
		tdIns.html(""); //删除原来单元格td内容
		inputIns.appendTo(tdIns).focus().select(); //将需要插入的输入框代码插入dom节点中
		inputIns.click(function () {
			return false;
		});
		//处理Enter和Esc事件
		inputIns.keyup(function (event) {
			var keycode = event.which;
			if (keycode == 13) {
				var inputText = $(this).val();
				tdIns.html(inputText);
			}
			if (keycode == 27) {
				tdIns.html(text);
			}
		});
	});
});

效果点这里

鼠标点击单元格时单元格变成可一个文本框,可用enter和esc控制操作完成与否。

嗯。效果挺不错的吧!废话一句漂亮与否还得看CSS哦!

漂亮的JQuery可编辑表格》上有 28 条评论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。