Jquery - map/serialize/ajax - editer en ligne un tableau - [object Object]
Bonjour,
je galère depuis plusieurs jour sur une fonction, j'aurai aimé avoir un peu d'aide svp :aie:
je tente de créer un fonction qui me permet d'éditer en ligne le contenu d'un tr d'un tableau.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
/* Modification d'un element */
var rec = 0;
$('.modify').click(function () {
if (rec == 0) {
/* focus du bouton */
this.focus();
/* remplace les TD par des inputs avec leur contenu */
$(this).parents('tr').find('td.editable').each(function() {
var html = $(this).html();
var input = $('<input class="editable" type="text"/>');
input.val(html);
$(this).html(input);
});
/* disable tous les autres boutons */
$("button").not(this).prop('disabled', true);
/* change le bouton */
$(this).find("i").switchClass('fa-pencil', 'fa-floppy-o');
$(this).switchClass('btnDefault', 'btnGreen');
/* $(this).replaceWith('<button class="modify btn btnGreen"><i class="fa fa-floppy-o fa-lg" ></i></button>');
*/ $(this).addClass('record');
/* augmente la variable de 1 */
rec = 1;
} else {
/* rend enable les boutons */
$("button").not(this).prop('disabled', false);
/* remet le bouton d'origine */
$(this).find("i").switchClass('fa-floppy-o', 'fa-pencil');
$(this).switchClass('btnGreen', 'btnDefault');
/*rebascule la variable a 0 */
rec = 0;
/* supprime le focus sur le bouton*/
this.blur();
var modifications = $('.record').map(function() {
return $(this).val();
});
$("#result").text(modifications);
$.ajax({type:"POST", data: $(modifications).serialize(), url:"traitemeny.php",
success: function(data){
$("#post").html(data);
},
error: function(){
$('#main').append('<div class="alert alert-danger"><b>Erreur</b> La création n\'a pas fonctionner</div>');
}
});
return false;
}
}); |
Bon le map fonctionne mal, dans le #result j'ai un [object Object]...
et je ne vois pas comment je vais retrouver en POST ces variables... pour un form j'ai l'id/name des input, mais la...
bref une idée?