Je génère un tableau HTML avec un bouton pour chaque ligne devant ouvrir un formulaire de dialog Jquery ui.
//The table @for (int h = 0; h < Model.ToList().Count; h++) { }
//The dialog form
$(function () { var dialog, state = $("#state").val(), note = $("#note").val(), id = id of button Update?? dialog = $("#dialog-form").dialog({ autoOpen: false, height: 400, width: 350, modal: true, buttons: { "Ok": function () { $.ajax({ type: "POST", url: "@Url.Action("Update","Ticket")", data: { 'id': id, 'state': state, 'note': note }, cache: false, dataType: "json", success: function (data) { $(this).dialog("close"); } }); }, "Cancel": function () { $(this).dialog("close"); }} }); $(".update").button().on("click", function () { dialog.dialog("open"); }); });
Mais le problème est que dans l’action Update de TicketController, les parameters state et node sont vides. Que puis-je faire? Et comment puis-je définir id = id du bouton Update?
//////// Edit: c’est le code correct (suggéré par @Igor)
$(function () { var state = $("#state").val(), note = $("#note").val(), dialog = $("#dialog-form").dialog({ autoOpen: false, height: 400, width: 350, modal: true, buttons: { "Ok": function () { $.ajax({ type: "POST", url: "@Url.Action("Update","Ticket")", data: { 'id': $(this).data("idt"), 'state': $("#note").val(), 'note': $("#note").val() }, cache: false, dataType: "json", success: function (data) { $(this).dialog("close"); } }); }, "Cancel": function () { $(this).dialog("close"); }} }); $(".update").button().on("click", function () { dialog.data("idt", this.id); dialog.dialog("open"); }); });
- Comment lutter contre les éléments d’arrière-plan arrondis empilés en diagonale?
- Continuer la lecture du lien en javascript
- Impossible de détecter un événement de roue de souris dans un safari
- Comment filtrer une table en utilisant plusieurs boites select2?
- Comment appeler une fonction dans un littéral de modèle
- jQuery UI Resizable: problème de Ghosting
- Aucune ligne à manipuler dans la table HTML créée avec jQuery csvToTable?
- JQUERY ne développe que la liste parente sélectionnée
- Modifier le contenu d’un div en cliquant sur un bouton situé en dehors de div, mais définir l’un des contenus comme visible avant le clic
- Comment aligner une div interne avec le bas d’une div externe?
1. id
de magasin du bouton cliqué dans la propriété de données de la dialog
avant d’ouvrir la boîte de dialog.
2. Récupérez les valeurs à envoyer dans le clic “Ok”.
"Ok": function () { var id = dialog.data("buttonid"); var state = $("#state").val(); var note = $("#note").val(); $.ajax({ ... $(".update").button().on("click", function () { dialog.data("buttonid", this.id); dialog.dialog("open"); });
- Comment arrêter setInterval?
- Twitter Bootstrap – Menu déroulant – Flèches Les touches ne fonctionnent pas pour les balises d’entrée dans Firefox
- Essayer de lier l’action de clic sur la table td
- jQuery et XML mystery obtiennent des chiffres pas des lettres
- Vérifier si droppable contient déjà un autre élément déplaçable (jQuery UI)
- Comment saisir le contenu
- Méthode JQuery .html () et scripts externes
- masquer le texte mais pas entrer dans une étiquette jquery
- Comment sérialiser le modèle, le transmettre au contrôleur MVC dans une requête ajax
- Obtenir toutes les valeurs de ligne de la table via le stockage de session