Bonjour,

J'ai un petit soucis, j'aurai besoin de passer un paramètre à ma fonction click dans ma fonction live.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
$('.ajouterMail').live('click',function(){
 
	var idContact = $(this).attr('idContact');
	var email = $(this).attr('email');
	var action = "<input name='mails[]' type='hidden' value='"+idContact+"'/><a href='#' idContact='"+idContact+"' class='supprimerMail'>-</a>";
 
	 if($('#listeMailsSelectionnes_filter').size() > 0){
		 $('#listeMailsSelectionnes_filter').remove();
	}
	if($('#listeMailsSelectionnes_paginate').size() > 0){
		$('#listeMailsSelectionnes_paginate').remove();
	}
 
	logDebug(oTableListeMailsSelectionnes);
	//oTableListeMailsSelectionnes.fnAddData( [email,action]);
 
 
})
Dans cette exemple, j'aurai besoin de récupérer oTableListeMailsSelectionnes comme paramètres. Pour l'instant, c'est une variable globale, mais j'ai l'impression que ca ne fonctionne pas bien.

Le but est de recuperer un instance de dataTable défini dans une autre fonction afin de pouvoir ajouter une ligne à ma table existante. Actuellement, la fonction fnAddData (en commentaire dans le code ci dessus), me vide mon tableau, j'ai donc l'impression que je ne récupère pas la bonne instance.
Voici la fonction où est défini ma variable (à la fin de la fonction).
La déclaration de la variable est faite en dehors du document ready afin de rendre la variable global.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
 $('.modif').live("click",function(){
		//ID de la mailing list
		var id = $(this).parent().parent().attr('id');
 
		$.modal("<div><h2>Chargement de la mailing liste en cours</h2>Ce chargement peut durer plusieurs minutes selon le nombre de contact dans la mailing liste.</div>");
		//Il va falloir récupérer le nom et la description puis les contacts existants
		//On va appeler le script de suppression
		 $.ajax({
			   type: "POST",
			   url: "getMailingListeHTML.php",
			   timeout:1000000,
			   data: "id="+id,
			   dataType: 'xml',
			   success: function(responseXML) {
					  if($(responseXML).find('error').size > 0) {
						  var showErreur = "<ul>";
						  $(responseXML).find('error').each(function(){
								showErreur += "<li>" +$(this).find('error').text() +"</li>";
							})
							showErreur += "</ul>";
						  $.modal("<div><h2>Erreur</h2>"+showErreur+"</div>");
					  } else {
 
					        var nom = $('nom', responseXML).text();
					        var description = $('description', responseXML).text();
				            var tabHTML = $('chaine', responseXML).text();
					   		var listeID = $('listeID', responseXML).text();
 
							//On affiche le formulaire
					   		$('#divGestionMailingListe').show('slow');
							$('#divAjouterMailingListe').hide();
 
							//On vide le formulaire au cas ou il resterai des données
							initFormMailingListe();
							//On pré-remplit les champs
							$('#nom').val(nom);
							$('#description').val(description);
							$('#idMailingListe').val(id);
 
 
					     	tabIDContact = listeID.split(',');
 
					     	$('#listeMailsSelectionnes tbody tr').remove();
					     	$('#listeMailsSelectionnes tbody').append(tabHTML);
 
 
 
					     	 if($('#listeMailsSelectionnes_filter').size() > 0){
				        		 $('#listeMailsSelectionnes_filter').remove();
					        }
					     	 if($('#listeMailsSelectionnes_paginate').size() > 0){
				        		 $('#listeMailsSelectionnes_paginate').remove();
					        }
 
					     	oTableListeMailsSelectionnes = $('#listeMailsSelectionnes').dataTable( {
								"bPaginate": true,
								"bLengthChange": false,
								"bFilter": true,
								"bSort": true,
								"bInfo": false,
								"sPaginationType": "full_numbers",	
								"bAutoWidth": false } );
 
							$.modal.close();
 
 
			      }
		 		}
			 });	
 
	});

Si vous avez une autre idée que le passage de paramètre pour récupérer la bonne instance de mon tableau sans qu'il m'efface toutes mes données, je suis preneur!

Merci d'avance.