jQuery est une bibliothèque Javascript pratique et rapide, souvent utilisée pour gérer les interactions, le traitement des événements et les effets d'animation des documents HTML. Cet article expliquera comment utiliser jQuery pour implémenter la fonction d'ajout, de suppression, de modification et de vérification des informations personnelles.
1. Préparation
Tout d'abord, vous avez besoin d'un tableau HTML contenant des informations personnelles, qui peuvent être écrites manuellement ou générées à l'aide d'un moteur de modèles. Supposons que notre tableau contienne les en-têtes et les données suivants :
<table id="info-table"> <thead> <tr> <th>ID</th> <th>姓名</th> <th>性别</th> <th>年龄</th> <th>联系方式</th> <th>操作</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>张三</td> <td>男</td> <td>25</td> <td>138****1234</td> <td> <button class="edit-btn">编辑</button> <button class="delete-btn">删除</button> </td> </tr> <tr> <td>2</td> <td>李四</td> <td>女</td> <td>30</td> <td>139****5678</td> <td> <button class="edit-btn">编辑</button> <button class="delete-btn">删除</button> </td> </tr> ... </tbody> </table>
Deuxièmement, un formulaire est nécessaire pour ajouter et modifier des informations. Vous pouvez utiliser HTML pour construire un formulaire, par exemple :
<form id="info-form"> <input type="hidden" id="info-id" value=""> <div> <label for="info-name">姓名:</label> <input type="text" id="info-name" name="name" required="required"> </div> <div> <label for="info-gender">性别:</label> <input type="radio" id="info-gender-male" name="gender" value="male" required="required"> <label for="info-gender-male">男</label> <input type="radio" id="info-gender-female" name="gender" value="female" required="required"> <label for="info-gender-female">女</label> </div> <div> <label for="info-age">年龄:</label> <input type="number" id="info-age" name="age" required="required"> </div> <div> <label for="info-phone">联系方式:</label> <input type="tel" id="info-phone" name="phone" required="required"> </div> <div> <button type="submit" id="submit-btn">提交</button> <button type="button" id="cancel-btn">取消</button> </div> </form>
Parmi eux, le champ caché avec l'identifiant "info-id" est utilisé pour enregistrer l'ID de l'information en cours de modification. Si la valeur est vide, cela signifie. que l'opération en cours est d'ajouter, et si elle n'est pas vide, cela signifie que l'opération en cours est d'éditer.
2. Ajouter des informations
L'opération d'ajout d'informations est relativement simple. Il vous suffit d'écouter l'événement de soumission du formulaire, d'obtenir les données du formulaire et de les insérer dans le tableau. Les étapes spécifiques sont les suivantes :
$('#info-form').on('submit', function(e) { e.preventDefault(); // ... });
var formData = { name: $('#info-name').val(), gender: $('input[name="gender"]:checked').val(), age: $('#info-age').val(), phone: $('#info-phone').val() };
var newRow = $('<tr>') .append($('<td>').text(newId)) .append($('<td>').text(formData.name)) .append($('<td>').text(formData.gender === 'male' ? '男' : '女')) .append($('<td>').text(formData.age)) .append($('<td>').text(formData.phone)) .append($('<td>') .append($('<button>').addClass('edit-btn').text('编辑')) .append($('<button>').addClass('delete-btn').text('删除')) ); $('#info-table tbody').append(newRow);
Parmi eux, newId est l'ID du nouveau informations ajoutées, qui doivent être basées sur l'ID maximum de la table actuelle Ajouter 1 à générer.
3. Modifier les informations
L'opération de modification des informations est légèrement plus compliquée que l'opération d'ajout. Vous devez d'abord localiser les informations qui doivent être modifiées dans le formulaire, puis remplir ses données dans le formulaire et écouter. à l'événement de soumission du formulaire et mettre à jour une fois la mise à jour terminée. Les données d'origine dans le tableau. Les étapes spécifiques sont les suivantes :
$('#info-table').on('click', '.edit-btn', function() { var row = $(this).closest('tr'); var id = row.find('td:first-child').text(); var name = row.find('td:nth-child(2)').text(); var gender = row.find('td:nth-child(3)').text() === '男' ? 'male' : 'female'; var age = row.find('td:nth-child(4)').text(); var phone = row.find('td:nth-child(5)').text(); $('#info-id').val(id); $('#info-name').val(name); $('input[name="gender"][value="' + gender + '"]').prop('checked', true); $('#info-age').val(age); $('#info-phone').val(phone); $('#submit-btn').text('更新'); });
$('#info-form').on('submit', function(e) { e.preventDefault(); var id = $('#info-id').val(); var formData = { name: $('#info-name').val(), gender: $('input[name="gender"]:checked').val(), age: $('#info-age').val(), phone: $('#info-phone').val() }; var row = $('#info-table').find('td:first-child').filter(function() { return $(this).text() === id; }).closest('tr'); row.find('td:nth-child(2)').text(formData.name); row.find('td:nth-child(3)').text(formData.gender === 'male' ? '男' : '女'); row.find('td:nth-child(4)').text(formData.age); row.find('td:nth-child(5)').text(formData.phone); $('#info-id').val(''); $('#info-name').val(''); $('input[name="gender"]').prop('checked', false); $('#info-age').val(''); $('#info-phone').val(''); $('#submit-btn').text('添加'); });
Parmi eux, utilisez les méthodes find, filter et close pour localisez la ligne qui doit être modifiée et utilisez la méthode de recherche à nouveau pour obtenir les données de chaque colonne de la ligne.
4. Supprimer les informations
La suppression des informations est relativement simple. Il vous suffit de confirmer si vous souhaitez les supprimer en cliquant sur le bouton Supprimer et de supprimer la ligne correspondante du tableau. Les étapes spécifiques sont les suivantes :
$('#info-table').on('click', '.delete-btn', function() { var row = $(this).closest('tr'); if (confirm('确定要删除该信息吗?')) { row.remove(); } });
Parmi eux, utilisez la méthode la plus proche pour obtenir la ligne actuelle et utilisez la méthode Remove pour la supprimer de l'arborescence DOM.
Jusqu'à présent, nous avons terminé la fonction d'ajout, de suppression, de modification et de vérification des informations personnelles. L'exemple de code complet est le suivant :
$(function() { $('#info-table').on('click', '.edit-btn', function() { var row = $(this).closest('tr'); var id = row.find('td:first-child').text(); var name = row.find('td:nth-child(2)').text(); var gender = row.find('td:nth-child(3)').text() === '男' ? 'male' : 'female'; var age = row.find('td:nth-child(4)').text(); var phone = row.find('td:nth-child(5)').text(); $('#info-id').val(id); $('#info-name').val(name); $('input[name="gender"][value="' + gender + '"]').prop('checked', true); $('#info-age').val(age); $('#info-phone').val(phone); $('#submit-btn').text('更新'); }); $('#info-form').on('submit', function(e) { e.preventDefault(); var id = $('#info-id').val(); var formData = { name: $('#info-name').val(), gender: $('input[name="gender"]:checked').val(), age: $('#info-age').val(), phone: $('#info-phone').val() }; if (id === '') { var newId = parseInt($('#info-table').find('td:first-child') .map(function() { return $(this).text(); }).get() .reduce(function(prev, curr) { return parseInt(prev) > parseInt(curr) ? prev : curr; })) + 1; var newRow = $('<tr>') .append($('<td>').text(newId)) .append($('<td>').text(formData.name)) .append($('<td>').text(formData.gender === 'male' ? '男' : '女')) .append($('<td>').text(formData.age)) .append($('<td>').text(formData.phone)) .append($('<td>') .append($('<button>').addClass('edit-btn').text('编辑')) .append($('<button>').addClass('delete-btn').text('删除')) ); $('#info-table tbody').append(newRow); } else { var row = $('#info-table').find('td:first-child').filter(function() { return $(this).text() === id; }).closest('tr'); row.find('td:nth-child(2)').text(formData.name); row.find('td:nth-child(3)').text(formData.gender === 'male' ? '男' : '女'); row.find('td:nth-child(4)').text(formData.age); row.find('td:nth-child(5)').text(formData.phone); $('#info-id').val(''); $('#info-name').val(''); $('input[name="gender"]').prop('checked', false); $('#info-age').val(''); $('#info-phone').val(''); $('#submit-btn').text('添加'); } }); $('#info-table').on('click', '.delete-btn', function() { var row = $(this).closest('tr'); if (confirm('确定要删除该信息吗?')) { row.remove(); } }); $('#cancel-btn').on('click', function() { $('#info-id').val(''); $('#info-name').val(''); $('input[name="gender"]').prop('checked', false); $('#info-age').val(''); $('#info-phone').val(''); $('#submit-btn').text('添加'); }); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!