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 :

Modification d'un lien dynamiquement


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Par défaut Modification d'un lien dynamiquement
    Bonjour a tous,
    voici ce que j'essai de faire:
    • modifier un champs quand je clic dessus Ok
    • modifier la valeur de mon lien suite à la modification


    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
     
    		<table id="operations" cellspacing="0" cellpadding="0" class="striped">
    			<thead><tr>
    				<th>Date</th>
    				<th>Motif</th>
    				<th>Code</th>
    				<th>Somme / Euros</th>
    				<th>Reste / Euros</th>
    				<th>Relev&eacute;</th>
    			</tr></thead>
    			<tbody>
    						<tr>
    				<td class="dateOpe">En attente</td>
    				<td>essai 1</td>
    				<td>label 1</td>
    				<td>758.45&euro;</td>
    				<td>758,45&euro;</td>
    				<td><a href="index.php?action=compte&id=1&operation=10&releveOperation=1&value=1" title="Relever cette op&eacute;ration"><span class="icon medium red" data-icon="C"></span></a> </td>
    			</tr>				
    							<tr>
    				<td class="dateOpe">10/11/2012</td>
    				<td>Essai 2</td>
    				<td>Label 2</td>
    				<td>-71.04&euro;</td>
    				<td>687,41&euro;</td>
    				<td><a href="index.php?action=compte&id=1&operation=11&releveOperation=1&value=1" title="Relever cette op&eacute;ration"><span class="icon medium red" data-icon="C"></span></a> </td>
    			</tr>
    		<table>
    et la partie JS
    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
     
    	<script>
    	$(function() {
    		$( '#date' ).datepicker( $.datepicker.regional[ 'fr' ] );
    	});
     
    	$('td:contains("En attente")').click(
    		function(){
    			var text = $(this).text();
    			$(this).text('');
    			$('<input type="text" name="date" id="date" />').appendTo($(this)).val(text).select().blur(
    				function(){
    					var newText = $(this).val();
    					$(this).parent().text(newText).find('input:text').remove();
    					$(this).parent().find('a').attr('href', $(this).parent().find('a').attr('href')+"&dateOperation="+newText); /* c'est ici que ça merde*/
    			   });			
    		});	
    	</script>
    Je pense que je suis mal positioné dans la DOM ...
    Merci par avance

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Tu essayes de sélectionner le parent d'un élément retiré du DOM Normal que ça merde.
    Inverse les lignes 14 et 15 et remplace $(this).parent() par $(this).closest('tr')

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Par défaut
    imppec ca fonctionne merci,
    et pour rajouter le datepicker sur le champs input j'ai essayé un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	$('td:contains("En attente")').click(
    		function(){
    			var text = $(this).text();
    			$(this).text('');
    			$('<input type="text" name="date" id="date" />').appendTo($(this)).val(text).select().blur(
    				function(){
    					var newText = $(this).val();
    					$(this).closest('tr').find('a').attr('href', $(this).closest('tr').find('a').attr('href')+"&dateOperation="+newText); /* c'est ici que ça merde*/					
    					$(this).parent().text(newText).find('input:text').remove();
    			   }).datepicker( $.datepicker.regional[ 'fr' ] );			
    		});

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

Discussions similaires

  1. [XL-2010] Lien dynamique avec modification
    Par still02 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/03/2013, 14h26
  2. [DisplayTag] Créer un lien dynamique avec javascript
    Par babylone7 dans le forum Taglibs
    Réponses: 3
    Dernier message: 20/04/2005, 10h23
  3. [Débutant] Pb avec les paramètres dans lien dynamique
    Par hackwell69 dans le forum Struts 1
    Réponses: 2
    Dernier message: 21/02/2005, 11h33
  4. [DisplayTag] Comment créer un lien dynamique
    Par tscoops dans le forum Taglibs
    Réponses: 3
    Dernier message: 17/02/2005, 09h53
  5. [Javascript] Suppression de lien dynamique
    Par Invité4 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/01/2005, 10h36

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