一样的table?不一样的table(可编辑状态table)_jquery
新的一天开始了,生活还要继续,今天要和大家分享的是不一样的table,普通的table就用于显示数据,今天要分享的table不仅仅能显示数据,还可以对数据进行编辑,当鼠标点击数据时相应的数据格就变成可编辑的状态,废话不多说,进入今天的主题,首先完成HTML页面:
鼠标点击下列内容可以进行编辑 | |
---|---|
学号 | 姓名 |
000001 | 张三 |
000002 | 李四 |
000003 | 王五 |
000004 | 赵六 |
没错现在它还是一个普通的table,一点样式都还没有,为了让这个table显得不那么抽象,接下来为它引入CSS样式
table{
width:400px;
height: 150px;
}
table, table td, table th{
border:1px solid black;
border-collapse: collapse;
}
table td{
width:50%;
height: 25px;
}
thead th{
background-color:#87CEFA;
}
tbody th{
background-color:#FFFACD;
}
在HTML页面中可编辑的页面元素就只有那么几个,很不幸table并不是其中一个,为了让table变得可编辑,就要向table中插入可编辑的页面元素,再用CSS装饰一下,让它看起来还是一个普通的table,然而却具备了可编辑的功能,这就是JS所要完成的功能,JS代码如下:
$(function(){
var content;
$("#content tr:odd").css("background-color","#D2B48C");
$("#content tr:even").css("background-color","#C0C0C0");
$("#content td").click(function(){
var clickObj = $(this);
content = clickObj.html();
changeToEdit(clickObj);
});
function changeToEdit(node){
node.html("");
var inputObj = $("");
inputObj.css("border","0").css("background-color",node.css("background-color"))
.css("font-size",node.css("font-size")).css("height","20px")
.css("width",node.css("width")).val(content).appendTo(node)
.get(0).select();
inputObj.click(function(){
return false;
}).keyup(function(event){
var keyvalue = event.which;
if(keyvalue==13){
node.html(node.children("input").val());
}
if(keyvalue==27){
node.html(content);
}
}).blur(function(){
if(node.children("input").val()!=content){
if(confirm("是否保存修改的内容?","Yes","No")){
node.html(node.children("input").val());
}else{
node.html(content);
}
}else{
node.html(content);
}
});
}
});
接下来对这段JS做简单的分析,全局变量 var content 用于保存编辑之前表格中的内容,有时候用户对表格进行编辑了但却并不想保存编辑后的结果,就需要将表格中的内容还原到编辑之前,所以当鼠标点击的时候首先要将表格的内容保存起来。
下面这两句$("#content tr:odd").css("background-color","#D2B48C"); $("#content tr:even").css("background-color","#C0C0C0"); 是让table具备隔行变色,只是为了增加表格的可视性。var inputObj = $(""); 这一句生成一个可编辑的JQuery对象,也就是要插入表格中的可编辑元素,后面那一串.css()方法是给inputObj对象追加CSS样式,.css()方法不仅可以给某个对象设置CSS样式还可以获取某个对象的CSS样式,JQuery中提供了很多这样的方法。很多时候JQuery方法执行过后返回回来的还是JQuery对象,所以就出现了inputObj.css().css().css()....这样的写法。
appendTo()方法就实现了表格的可编辑性(也可用appendix()),将可编辑元素插入到表格中。.get(0).select()这两个方法是为了选中inputObj中的内容让焦点落在可编辑元素上,需要注意的是这两个方法一定要写在appendTo()之后,inputObj.click(function(){})这个方法也是必不可少的,删掉这个方法会有一个很有趣的bug,大家可以试一试。
紧接着的 keyup(function(event){}),可以通过 event.which 的方式获取键盘按下的键所对应的键值,常用的键值有 Enter键:13、Esc键:27,当用户按下Enter键时,就保存编辑后的内容,并将表格还原成普通表格,当用户按下Esc键时,将表格中的内容还原,也将表格还原成普通表格。
用户体验,苹果的出现让这个词更深入人心,这里也凑下热闹。为了提高用户体验这里增加了blur(function(){})方法,当焦点离开可编辑元素时首先判断表格中的内容是否被改变,如果没有改变直接将表格及表格中的还原,如果有改变就提示用户是否保存。
今天的示例基本完工了,如果你将JS代码放在一个单独的JS文件中引用,可能会出现一个中文乱码的bug,不妨动手试一试。谢谢你耐心的读完本文,希望对你会有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Mit der kontinuierlichen Weiterentwicklung der Front-End-Technologie sind Datentabellen zu einem wichtigen Werkzeug für die Unternehmensverwaltung und Datenanzeige geworden. In der täglichen Entwicklung ist es manchmal erforderlich, Daten in der Datentabelle zu ändern oder hinzuzufügen. Zu diesem Zeitpunkt ist es erforderlich, eine bearbeitbare Datentabelle zu implementieren. In diesem Artikel wird erläutert, wie Sie mit Vue bearbeitbare Datentabellen implementieren. 1. Implementierungsideen Bei der Implementierung der bearbeitbaren Datentabellenfunktion müssen wir die folgenden Punkte berücksichtigen: Datenpräsentation: Rendern Sie die Daten zur Anzeige und Bearbeitung in der Tabelle. Tabellenbearbeitung: Daten in der Tabelle bearbeiten.

So entwickeln Sie mit Layui ein bearbeitbares System zur Verwaltung persönlicher Termine. In den letzten Jahren hat die Verwaltung persönlicher Termine mit der rasanten Entwicklung der Informationstechnologie und dem beschleunigten Tempo des Lebens immer mehr an Bedeutung gewonnen. Damit Menschen ihre Zeit und Aufgaben besser verwalten können, können wir Layui verwenden, ein auf JavaScript basierendes Front-End-UI-Framework. Es bietet umfangreiche Komponenten und einen prägnanten Stil und eignet sich sehr gut für die Entwicklung persönlicher Zeitplanverwaltungssysteme. 1. Vorbereitung der Umgebung Zuerst müssen wir die Entwicklungsumgebung vorbereiten. Stellen Sie sicher, dass Sie

Grundlegende Tabelle Bevor Sie die Tabellenkomponente entwickeln, überlegen Sie zunächst, welchen API-Stil Sie verwenden möchten. Da der Autor in der Produktionsarbeit Elemente verwendet, ähneln die Stile der vorherigen Komponenten denen von Element, aber dieses Mal habe ich nicht vor, den Elementstil zu verwenden . Ich habe vor, es zu ändern und direkt anzuzeigen: Wir erwarten, dass Benutzer es wie folgt verwenden: constdataList=[{id:1,name:'"JavaEE Enterprise Application Practice"',author:'dev1ce',price:'10.22 ',desc:&# 3

Vue.js ist derzeit eines der beliebtesten Front-End-Frameworks. Es verwendet einen datengesteuerten Ansatz zum Erstellen von Benutzeroberflächen und weist die Merkmale einer bidirektionalen Datenbindung und Komponentisierung auf. In der Vue.js-Dokumentation wird eine Methode zum Implementieren einer bearbeitbaren Tabelle bereitgestellt. In diesem Artikel werden die spezifischen Implementierungsschritte dieser Methode vorgestellt. Um Daten vorzubereiten, müssen Sie zunächst einen Datensatz vorbereiten. Hier nehmen wir Studenteninformationen als Beispiel. Das Datenformat kann ein Array sein und jedes Element enthält Attribute wie Name, Geschlecht, Alter usw. Schüler:[{name:'Xiao Ming

So verwenden Sie Layui zum Implementieren bearbeitbarer Tabellenfunktionen. Layui ist ein klassisches und prägnantes Front-End-UI-Framework mit umfangreichen Komponenten und leistungsstarken Funktionen. Während des Entwicklungsprozesses mit Layui müssen wir möglicherweise bearbeitbare Tabellenfunktionen implementieren. In diesem Artikel wird erläutert, wie Sie die Tabellen- und Formularkomponente von Layui verwenden, um bearbeitbare Tabellenfunktionen zu implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Stellen Sie die Layui-Bibliothek vor. Führen Sie zunächst die relevanten Dateien der Layui-Bibliothek in das Projekt ein. Kann wählen

Überblick über die Verwendung von Layui zum Entwickeln eines bearbeitbaren E-Book-Readers: Layui ist ein benutzerfreundliches und leistungsstarkes Front-End-Framework, das einen umfangreichen Satz an UI-Komponenten und Entwicklungstools bereitstellt, sodass Entwickler schnell schöne und voll funktionsfähige Inhalte erstellen können Webanwendung. In diesem Artikel wird vorgestellt, wie Sie mit dem Layui-Framework einen E-Book-Reader entwickeln, der die Bearbeitbarkeit unterstützt und es Benutzern ermöglicht, Vorgänge wie Hervorheben, Markieren und Notizen im E-Book durchzuführen. Schritt 1: Projektvorbereitung Zunächst müssen wir eine grundlegende Projektstruktur vorbereiten. Erstellen Sie eine

So verwenden Sie Vue und Canvas zum Entwickeln bearbeitbarer Vektorgrafikanwendungen. Einführung: In den letzten Jahren werden Vektorgrafiken im Designbereich immer häufiger verwendet, und es gibt viele Designtools, die auf Vektorgrafiken basieren, wie z. B. Adobe Illustrator. In der Webentwicklung hoffen wir auch, bearbeitbare Vektorgrafikanwendungen entwickeln zu können, um den individuellen Designanforderungen der Benutzer gerecht zu werden. In diesem Artikel wird die Verwendung von Vue und Canvas zum Entwickeln bearbeitbarer Vektorgrafikanwendungen vorgestellt und detaillierte Codebeispiele bereitgestellt. Vorbereitungen Zuerst I

So entwickeln Sie mit Layui einen bearbeitbaren Flussdiagramm-Designer. Einführung: Mit der rasanten Entwicklung der Informatisierung werden Flussdiagramme zunehmend in verschiedenen Branchen eingesetzt. Allerdings ist die Auswahl an Flussdiagramm-Editoren derzeit auf dem Markt begrenzt und die meisten erfordern eine Bezahlung. In diesem Artikel wird erläutert, wie Sie mit dem Layui-Framework einen bearbeitbaren Flussdiagramm-Designer entwickeln und spezifische Codebeispiele bereitstellen. 1. Einführung in Layui: Layui ist ein einfaches und benutzerfreundliches Front-End-Framework, das eine Fülle von Komponenten und Schnittstellen für die schnelle Erstellung von We bereitstellt
