Heim Web-Frontend Front-End-Fragen und Antworten jquery realisiert sofortige Änderungen

jquery realisiert sofortige Änderungen

May 23, 2023 pm 01:43 PM

Mit der Entwicklung des Internets haben die Interaktivität und Reaktionsfähigkeit von Webseiten immer mehr Aufmerksamkeit auf sich gezogen. Die Inline-Editing-Funktion wird auch häufig auf verschiedenen Websites verwendet. Click-to-Change bezieht sich auf die Funktion zum direkten Bearbeiten von Inhalten auf der Seite, d. h. es ist nicht erforderlich, zu einer neuen Seite zu springen oder ein Formular zum Bearbeiten zu verwenden. Sie können den Inhalt auf der Seite direkt mit einem Mausklick bearbeiten , was sehr bequem und schnell ist.

Bei der Umsetzung sofortiger Änderungen ist jQuery ein sehr praktisches Werkzeug. jQuery ist eine schnelle und übersichtliche JavaScript-Bibliothek, die eine Vielzahl von Funktionen bereitstellt, die uns dabei helfen können, DOM-Operationen, Ereignisbehandlung, Animationseffekte und mehr einfach durchzuführen. Im Folgenden stellen wir vor, wie Sie mit jQuery Point-and-Click-Änderungen erzielen.

Zuerst müssen wir eine Beispielseite vorbereiten. Nehmen wir an, wir haben eine Seite mit mehreren Tabellen, jede mit einem Namen und einem Alterswert. Wir hoffen, dass Benutzer diese Informationen direkt auf der Seite bearbeiten und automatisch auf dem Server speichern können. Das Folgende ist der HTML-Quellcode der Beispielseite:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>即点即改示例</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <style>
        table {
            border-collapse: collapse;
            width: 100%;
        }
        th, td {
            border: 1px solid #ccc;
            padding: 5px;
            text-align: center;
        }
        th {
            background-color: #eee;
        }
        td.editable {
            cursor: pointer;
        }
    </style>
</head>
<body>
    <table>
        <thead>
            <tr>
                <th>姓名</th>
                <th>年龄</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td class="editable" data-field="name" data-id="1">张三</td>
                <td class="editable" data-field="age" data-id="1">25</td>
            </tr>
            <tr>
                <td class="editable" data-field="name" data-id="2">李四</td>
                <td class="editable" data-field="age" data-id="2">30</td>
            </tr>
            <tr>
                <td class="editable" data-field="name" data-id="3">王五</td>
                <td class="editable" data-field="age" data-id="3">35</td>
            </tr>
        </tbody>
    </table>
    <script>
        $(document).ready(function() {
            $('td.editable').click(function() {
                var value = $(this).text();
                var field = $(this).data('field');
                var id = $(this).data('id');
                var input = $('<input type="text" />');
                input.val(value);
                $(this).empty().append(input);
                input.focus();
                input.blur(function() {
                    var new_value = $(this).val();
                    if (new_value != value) {
                        var data = {};
                        data[field] = new_value;
                        $.ajax({
                            method: 'POST',
                            url: '/update',
                            data: {
                                id: id,
                                data: JSON.stringify(data)
                            },
                            success: function(response) {
                                console.log('更新成功');
                                $('td.editable[data-id="' + id + '"][data-field="' + field + '"]').text(new_value);
                            },
                            error: function(response) {
                                alert('更新失败');
                                $('td.editable[data-id="' + id + '"][data-field="' + field + '"]').text(value);
                            }
                        });
                    } else {
                        $('td.editable[data-id="' + id + '"][data-field="' + field + '"]').text(value);
                    }
                });
            });
        });
    </script>
</body>
</html>
Nach dem Login kopieren

Im obigen HTML-Quellcode haben wir die jQuery-Bibliothek verwendet und einige Stile definiert. Darunter ist jede bearbeitbare Zelle auf editable类,并使用data-fielddata-id属性保存了字段名称和行ID。接着,我们在页面加载完成后使用jQuery的ready函数来绑定每个可编辑单元格的点击事件。点击事件会获取当前单元格的值、字段和行ID,并创建一个input元素,将当前值赋值给input元素,并将input元素插入到当前单元格中,以便用户进行编辑。编辑完成后,input gesetzt. Das Element verliert den Fokus und wir können den neuen Wert abrufen, ihn mit der Zeilen-ID und dem Feldnamen in ein JSON-Objekt packen und ihn über AJAX an den Server senden . Ende zum Speichern. Wenn das Speichern erfolgreich ist, aktualisieren wir den ursprünglichen Zelleninhalt, andernfalls wird er auf den ursprünglichen Wert zurückgesetzt.

Bisher haben wir die Click-and-Change-Funktion erfolgreich implementiert. Die Verwendung von jQuery zum Erzielen von Point-and-Click-Änderungen ist sehr praktisch und erfordert nur ein paar einfache Codezeilen. Natürlich erfordern tatsächliche Projekte mehr Details und eine komplexere Geschäftslogik, aber wir können aus den oben genannten Code-Ideen lernen und sie entsprechend den spezifischen Geschäftsanforderungen verbessern und optimieren.

Das obige ist der detaillierte Inhalt vonjquery realisiert sofortige Änderungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 Artikel -Tags

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)

Erklären Sie das Konzept des faulen Ladens. Erklären Sie das Konzept des faulen Ladens. Mar 13, 2025 pm 07:47 PM

Erklären Sie das Konzept des faulen Ladens.

Was ist Useffizität? Wie verwenden Sie es, um Nebenwirkungen auszuführen? Was ist Useffizität? Wie verwenden Sie es, um Nebenwirkungen auszuführen? Mar 19, 2025 pm 03:58 PM

Was ist Useffizität? Wie verwenden Sie es, um Nebenwirkungen auszuführen?

Wie funktioniert der React -Versöhnungsalgorithmus? Wie funktioniert der React -Versöhnungsalgorithmus? Mar 18, 2025 pm 01:58 PM

Wie funktioniert der React -Versöhnungsalgorithmus?

Wie funktioniert das Currying in JavaScript und wie hoch sind ihre Vorteile? Wie funktioniert das Currying in JavaScript und wie hoch sind ihre Vorteile? Mar 18, 2025 pm 01:45 PM

Wie funktioniert das Currying in JavaScript und wie hoch sind ihre Vorteile?

Was ist usecontext? Wie verwenden Sie es, um den Zustand zwischen Komponenten zu teilen? Was ist usecontext? Wie verwenden Sie es, um den Zustand zwischen Komponenten zu teilen? Mar 19, 2025 pm 03:59 PM

Was ist usecontext? Wie verwenden Sie es, um den Zustand zwischen Komponenten zu teilen?

Was sind Funktionen höherer Ordnung in JavaScript und wie können sie verwendet werden, um prägnanter und wiederverwendbarer Code zu schreiben? Was sind Funktionen höherer Ordnung in JavaScript und wie können sie verwendet werden, um prägnanter und wiederverwendbarer Code zu schreiben? Mar 18, 2025 pm 01:44 PM

Was sind Funktionen höherer Ordnung in JavaScript und wie können sie verwendet werden, um prägnanter und wiederverwendbarer Code zu schreiben?

Erläutern Sie den Zweck jeder Lebenszyklusmethode und ihres Anwendungsfalls. Erläutern Sie den Zweck jeder Lebenszyklusmethode und ihres Anwendungsfalls. Mar 19, 2025 pm 01:46 PM

Erläutern Sie den Zweck jeder Lebenszyklusmethode und ihres Anwendungsfalls.

Was sind die Vor- und Nachteile kontrollierter und unkontrollierter Komponenten? Was sind die Vor- und Nachteile kontrollierter und unkontrollierter Komponenten? Mar 19, 2025 pm 04:16 PM

Was sind die Vor- und Nachteile kontrollierter und unkontrollierter Komponenten?

See all articles