Formulaire de dialog Jquery-Ui pour chaque bouton d’un tableau dynamic

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"); }); });  

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"); });