实现可编辑的表格,如某一单元格点击后变成输入框,输入完成后按回车,或失去焦点时又变为文本。其实现的基本思路是:
1、当点击某一单元格时,将此单元格的文字保存起来。
2、清除此文字。即单元格的文字。
3、生成一个文本框,将其值设为保存的文本值。
4、给该文本框添加事件,如按键,如失去焦点事件。
4.1、事件主要处理当按下某一特殊键如Enter或失去焦点时,将输入框的值重新存为单元格的值。
4.2、事件中还有一步非常重要,即再次调用单元格的单击事件。因为第----步已经对单元格释放了该事件。
5、将该文本框追加给单元格
6、给单元格取消单元事件。如不取消的话,生成的文本框也会有此单击事件,这样一来,等第二次单击文本框时里面的值就没有了。
现将JS代码贴出来:
$(document).ready(function(){
var tds = $('td');
tds.click(tdclick);
});
function tdclick(){
var td = $(this);
var text = td.text();
td.html('');
var input = $('<input>');
//input.val(text);这样也可以实现
input.attr('value',text);
input.keyup(function (event){
var myEvent = event||window.Event;
var keyCode = myEvent.keyCode;
//alert(keyCode)
if (keyCode==13) {//判断是否为按下Enter
var inputNode = $(this);
var inputText = inputNode.val();
td.html(inputText);
td.click(tdclick);
}
else if(keyCode==27){//判断是否为按下Esc
var inputNode = $(this);
inputNode.attr('value',text);
}
});
//文本框失去焦点时,重新变回文本,文本内容为输入框中的值
input.blur(function(){
td.html(input.val());
td.click(tdclick);
});
td.append(input);
var inputDom = input.get(0);//将jquery对象转化为DOM对象
inputDom.select();
td.unbind('click');//当出现文本框时再单出不需要再调用单击函数tdclick
}
此篇涉及的代码见附件。
分享到:
相关推荐
本文将深入探讨`jQuery Grid`的使用方法及其在编辑表格中的应用。 首先,`jQuery Grid`基于`jQuery`库,所以使用前需确保页面已引入`jQuery`。然后,我们需要引入`jQuery Grid`的核心库,通常是`jquery.jqGrid.min....
例如,jQuery UI的对话框可以用来显示jqGrid中的详细信息,或者用于编辑记录。同时,jQuery UI的动画效果可以与jqGrid的交互动作相结合,为用户提供更流畅的体验。 在实际应用中,这两个库的结合使用,往往需要对...
jqGrid是基于jQuery的表格插件,提供丰富的功能,如分页、排序、搜索、过滤、编辑、导出等,支持Ajax数据加载,能够处理本地或远程数据源。4.5.2版本是对早期版本的升级,优化了性能,增强了稳定性,并引入了一些新...
jQuery.jqGrid是基于jQuery库的表格插件,提供丰富的功能,如数据的分页、排序、搜索和编辑等,适用于创建交互式的、数据密集型的Web页面。4.4.3版本是在该插件历史发展中的一次重要更新,它修复了先前版本的一些...
它的列模型设置灵活,可以定制每一列的显示方式,包括宽度、对齐方式、可编辑性等。并且,jqGrid提供了丰富的事件处理机制,如`onSelectRow`、`onSortCol`等,让开发者能够精确地控制用户的交互行为。 总结来说,...
《jQuery EasyUI 1.4.2:轻松构建网页的强大框架》 jQuery EasyUI 是一个基于 jQuery 的前端开发框架,其1.4.2版本以其高效、易用和功能丰富的特性,深受开发者喜爱。该框架旨在简化网页界面的构建过程,提供一系列...
其次,对话框(dialog)在EasyUI中扮演了重要的角色,它常用于弹出式的操作窗口,如添加新记录或编辑现有记录。在这个DEMO中,dialog被用作添加和编辑数据的界面,提供了一个独立的操作空间,避免了对主页面的干扰。...
- **Datagrid**:表格组件,支持数据的分页、排序、筛选、编辑等操作。 - **Tree**:树形结构组件,常用于展示层次关系的数据。 - **Tab**:选项卡组件,可以在同一区域内展示多个页面或内容。 - **DatePicker**:...
在“jquery学习笔记 实战2 可以编辑的表格”这个主题中,我们将深入学习如何利用jQuery创建一个用户可以直接在页面上编辑数据的动态表格。 首先,`editable.html`文件是网页的主体部分,它可能包含了HTML结构,其中...
2. **Grid(表格)**:支持分页、排序、过滤、编辑等数据操作,可以绑定到 JSON 数据源,实现数据的动态加载。 3. **Tree(树形结构)**:展示层次化的数据,支持展开/折叠、异步加载、节点操作等功能。 4. **Form...
- **jquery.easyui.min.js**:这是jQuery EasyUI的核心库,包含了所有组件的压缩和优化版本,是项目中必不可少的文件。 - **jquery.min.js**:基础的jQuery库,EasyUI依赖于它来执行JavaScript操作。 - **easyloader...
在本项目中,我们主要关注的是"jQuery编辑表格+JS日历【升级版】",这是一个结合了数据编辑和日历功能的Web应用组件。这个升级版相较于之前的版本,不仅在视觉效果上进行了美化,提高了用户体验,而且还添加了登录...
5. **表格(Grid)**:表格组件提供了数据展示和管理的强大功能,支持分页、排序、过滤和编辑,非常适合数据密集型应用。 6. **表单(Form)**:EasyUI 的表单组件提供了各种输入控件和验证机制,使得数据收集和...
这些脚本提供了丰富的API和事件,让开发者能够深入控制网格的各个方面,如添加、编辑、删除记录,以及自定义按钮和工具栏等。 CSS部分位于"css"目录,其中的"ui.jqgrid.css"文件是jqGrid的样式定义,定义了表格的...
总结来说,jQuery.jqGrid 4.1.1 是一款功能强大的表格插件,它为 JavaScript 开发者提供了强大的数据网格功能,无论是小型项目还是大型企业级应用,都能找到合适的应用场景。通过深入理解和充分利用这个压缩包中的...
4. 调用jqGrid的API方法实现各种操作,如加载数据、刷新表格、编辑记录等。 例如,基本的HTML结构可能如下: ```html <table id="jqGrid"></table> <div id="gridpager"></div> ``` 然后在JavaScript中初始化...
在IT领域,jQuery是一个广泛使用的...通过学习和实践这些知识,开发者能够创建具有高度交互性和用户体验的可编辑表格。如果博客提供的源码质量高且详细,那么对于初学者和有经验的开发者来说都是一份宝贵的资源。
- 编辑:可实现行内编辑,方便用户修改数据。 - 表格样式:提供了多种主题(Themes),以适应不同的界面设计需求。 2. **扩展性**: - 自定义列:可以设置列的宽度、标题、对齐方式等属性,甚至可以添加自定义的...
1. **实时编辑**:当用户点击表格中的某个单元格时,jQuery可以通过添加CSS类或属性改变该单元格的样式,使其变为可编辑状态。例如,可以添加一个`contenteditable`属性使单元格变为文本输入框。 2. **事件监听**:...