Maison >interface Web >js tutoriel >jQuery implémente des exemples fonctionnels similaires à GridView
Cet article partage principalement avec vous jQuery pour implémenter une fonction d'édition, de mise à jour, d'annulation et de suppression de type GridView. Dans le projet, j'ai rencontré une telle exigence lorsque l'utilisateur clique sur Modifier, une ligne est générée dynamiquement sous la ligne cliquée. , et le bouton d'édition change. S'il est désactivé, la ligne nouvellement générée comporte des boutons de mise à jour et d'annulation. Cliquez sur le bouton "Annuler" pour supprimer la ligne générée dynamiquement et restaurer l'état du bouton d'édition. L'éditeur partagera l'exemple de code avec vous ci-dessous, jetons un coup d'œil.
Tout d'abord, jetons un coup d'œil à la démonstration d'effet en temps réel suivante :
Lorsque l'utilisateur clique sur Modifier, une ligne est générée dynamiquement sous la ligne cliquée. Le bouton Modifier devient désactivé.
La ligne nouvellement générée comporte des boutons de mise à jour et d'annulation. Cliquez sur le bouton "Annuler" pour supprimer la ligne générée dynamiquement. État du bouton Modifier restauré.
Il n'y a rien de spécial dans les fonctions des boutons de mise à jour et de suppression.
Le code html dans la vue ASP.NET MVC est le suivant, tableau ordinaire, balise html ordinaire :
Fonction du bouton supprimé :
$('.Delete').click(function () { var flag = confirm('你确认是否删除记录?'); if (flag) { var tr = $(this).closest('tr'); var obj = {}; obj.Ltc_nbr = tr.find('.SelectSingle').val(); $.ajax({ type: 'POST', url: "/Highway/LandTransportationCityDelete", dataType: 'json', data: JSON.stringify(obj), contentType: 'application/json; charset=utf-8', success: function (data, textStatus) { if (data.Success) { window.location.href = data.RedirectUrl; } else { alert(data.ExceptionMessage); return; } }, error: function (xhr, status, error) { alert("An error occurred: " + status + "nError: " + error); } }); } return false; });
La fonction du bouton d'édition doit générer dynamiquement une nouvelle ligne. Traiter les balises html de chaque champ :
$('.Edit').click(function (e) { var tr = $(this).closest('tr') var row = $('<tr>'); row.append($('<td><input class="city_key" type="hidden" value="' + tr.find('.SelectSingle').val() + '" /></td>')); row.append($('<td></td>')); $selectCity = $('<select />').attr({ name: 'city', class: 'selectcity' }); $("<option></option>", { value: "", text: "" }).appendTo($selectCity); $.getJSON("/Highway/GetCities", function (data) { $.each(data, function (i, item) { if (item.City_nbr == tr.find('.city_key').val()) { $("<option></option>", { value: item.City_nbr, text: item.City_Name,selected :"selected" }).appendTo($selectCity); } else { $("<option></option>", { value: item.City_nbr, text: item.City_Name}).appendTo($selectCity); } }) }); row.append($('<td></td>').append($selectCity)); row.append($('<td></td>')); row.append($('<td></td>')); row.append($('<td></td>')); $cb = $('<input/>').attr({ type: 'checkbox', class: 'ckbIsActived', checked: tr.find('.ckbIsActived').is(':checked') == true ? 'true' : '' }); row.append($('<td></td>').append($cb)); var $btnUpdate = $('<input/>').attr({ type: 'button', class: 'Update', value: '更新' }); row.append($('<td style="width:40px;"></td>').append($btnUpdate)); var $btnCancel = $('<input/>').attr({ type: 'button', class: 'Cancel', value: '取消' }); row.append($('<td style="width:40px;"></td>').append($btnCancel)); tr.after(row); $(this).attr("disabled", "disabled"); });
Mettre à jour la fonction du bouton ammonium :
$('table.city-list').delegate('.Update', 'click', function (event) { var tr = $(this).closest("tr"); var obj = {}; obj.Ltc_nbr = tr.find('.city_key').val(); obj.City_nbr = tr.find('.selectcity').val(); obj.IsActived = tr.find('.ckbIsActived').is(':checked'); $.ajax({ type: 'POST', url: "/Highway/LandTransportationCityUpdate", dataType: 'json', data: JSON.stringify(obj), contentType: 'application/json; charset=utf-8', success: function (data, textStatus) { if (data.Success) { alert("陆运城市更新成功。"); window.location.href = data.RedirectUrl; } else { alert(data.ExceptionMessage); return; } }, error: function (xhr, status, error) { alert("An error occurred: " + status + "nError: " + error); } }); });
Il existe également une fonction de bouton d'annulation :
$('table.city-list').delegate('.Cancel', 'click', function (event) { var tr = $(this).closest("tr"); tr.prev().find('.Edit').removeAttr('disabled'); tr.remove(); });
L'avez-vous déjà appris ? Récupérez-le si vous le trouvez utile.
Recommandations associées :
Implémentation du défilement automatique GridView function
Comment ajouter, supprimer et modifier DataGridView ?
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!