IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

UI Dialog, comment modifier les boutons


Sujet :

jQuery

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut UI Dialog, comment modifier les boutons
    Bonjour à tous,

    J'ai sur ma page plusieurs div, chaque div contient une image (class css imgDel). Un clic sur cette image doit ouvrir une boite modal via dialog() me demandant de confirmer la suppression , et le cas échéant de faire la suppression.
    Voici comment je procède :

    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
    $('div img.imgDel').click(function(e){
     
    	e.preventDefault();
            // Récupération de l'id de l'élément déclencheur
    	var id = this.id.substr(2);
    	$('#confirm_dialog').dialog({
    		bgiframe:true,
    		autoOpen:true,
    		resizable:false,
    		height:200,
    		modal:true,
    		buttons:{
    			'Supprimer' : function(){
    				var idEl = id;
    				$.post(
    						'calendrier/ajax_legend.html',
    						{
    							id : idEl,
    							action: 'del',
    							csrf_protect : '{{token}}'
    						},
    						function(responseText){
    							if(responseText == 'ok'){
    								$('#l_'+idEl).parent().remove();
    								$('#confirm_dialog').dialog('close');
    							}else{
    								alert('Une erreur est survenue pendant la suppression.');
    							}
    						}
    					);				
     
    			},
     
    			'Annuler' : function(){
    				$(this).dialog('close');
    			}
    		}
    	});
    });
    Tout marche très bien pour le premier clic , ma boite s'ouvre , si je confirme , ma requête ajax est effectué, l'lélément dans bdd supprimé et celui dans la page disparait.
    Or si je clic sur une nouvelle image pour supprimer un nouveau div , la boite modal n'apparait plus alors que pourtant je rentre bien dans la fonction de l'événement.

    J'ai l'impression que le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).dialog('close');
    Supprime le code html de la boite de dialog et il ne peut par conséquent plus en afficher de nouvelle.

    Comment puis je remédier à ce problème ?

    De plus , est il possible de récupérer l'id de l'élément déclencheur directement dans la fonction abstraite qui défini le comportement des boutons de la boite de dialogue ?

    Note : Je débute en jquery , n'hesitez pas à me corriger si je ne suis pas la philosophie de développement du framework.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    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
     
    <script type="text/javascript">
    	$(document).ready(function(){
    		$("#dialog").dialog({
    			bgiframe:true,
    			autoOpen:false,
    			resizable:false,
    			height:200,
    			modal:true
    		});
     
    		$("img.imgDel").click(function(){
    			var id = this.id;
     
    			$("#dialog").dialog('option', 'buttons', {
    				"Supprimer": function(){
    					alert(id);
    					$(this).dialog('close');
    				},
    				"Annuler": function(){
    					$(this).dialog('close');
    				}
    			});
     
    			$("#dialog").dialog("open");
     
    			return false;
    		});
    	});
    </script>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Salut et merci,

    Donc si je comprend bien , c'est le fait de redéclarer la Dialog a chaque clic et le l'ouvrir en autoOpen plutôt qu'avec un Dialog('open') qui me posais problème ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour.

    La réponse est : oui.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment modifier les couleurs système ?
    Par yousserr dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 24/07/2005, 10h57
  2. comment modifier les données d'une table à travers un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 12
    Dernier message: 19/07/2005, 09h51
  3. [Scripts] Comment avoir les boutons style XP
    Par Didier69 dans le forum Général Dotnet
    Réponses: 26
    Dernier message: 18/05/2005, 15h28
  4. comment modifier les attributs d'un fichier?
    Par kamal101 dans le forum C++
    Réponses: 1
    Dernier message: 18/03/2005, 14h16
  5. Comment modifier les .pas fournis avec Delphi ?
    Par prgasp77 dans le forum Langage
    Réponses: 2
    Dernier message: 09/02/2005, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo