Heim Web-Frontend js-Tutorial 一样的table?不一样的table(可编辑状态table)_jquery

一样的table?不一样的table(可编辑状态table)_jquery

May 16, 2016 pm 05:49 PM
table 可编辑

新的一天开始了,生活还要继续,今天要和大家分享的是不一样的table,普通的table就用于显示数据,今天要分享的table不仅仅能显示数据,还可以对数据进行编辑,当鼠标点击数据时相应的数据格就变成可编辑的状态,废话不多说,进入今天的主题,首先完成HTML页面:

复制代码 代码如下:





JQueryProject1



































鼠标点击下列内容可以进行编辑
学号 姓名
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,不妨动手试一试。谢谢你耐心的读完本文,希望对你会有所帮助。
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie implementiert man mit Vue eine bearbeitbare Datentabelle? Wie implementiert man mit Vue eine bearbeitbare Datentabelle? Jun 25, 2023 pm 06:20 PM

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 So entwickeln Sie mit Layui ein bearbeitbares System zur Verwaltung persönlicher Termine Oct 25, 2023 am 11:42 AM

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

So verwenden Sie die Vue3-Tabellenkomponente So verwenden Sie die Vue3-Tabellenkomponente May 12, 2023 pm 09:40 PM

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

Implementierungsmethode einer bearbeitbaren Tabelle im Vue-Dokument Implementierungsmethode einer bearbeitbaren Tabelle im Vue-Dokument Jun 20, 2023 pm 06:43 PM

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 implementieren Sie bearbeitbare Tabellenfunktionen mit Layui So implementieren Sie bearbeitbare Tabellenfunktionen mit Layui Oct 25, 2023 am 11:27 AM

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

So entwickeln Sie mit Layui einen E-Book-Reader, der die Bearbeitbarkeit unterstützt So entwickeln Sie mit Layui einen E-Book-Reader, der die Bearbeitbarkeit unterstützt Oct 24, 2023 am 08:08 AM

Ü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 So verwenden Sie Vue und Canvas zum Entwickeln bearbeitbarer Vektorgrafikanwendungen Jul 19, 2023 pm 03:07 PM

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 So entwickeln Sie mit Layui einen bearbeitbaren Flussdiagramm-Designer Oct 27, 2023 pm 01:07 PM

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

See all articles