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 :

Sélectionner un élément parent le plus proche d'un id


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 166
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 166
    Par défaut Sélectionner un élément parent le plus proche d'un id
    Bonjour à tous

    Je mets à jours une base de donnée avec ajax.
    Quand je change la valeur d'un input ou select, il me à jour la base de donnée immédiatement.
    Puis quand c'est fait avec succèes, le champs à un cadre vert.

    Ca marche partiellement, sauve que tous mes champs sont vert.
    Voici le code HTML et disons que je mets à jour le
    chart_borderWidth
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <div class="form-row sensor-11">
    							<div class="form-group col-sm-6">
    								<label class="form-check-label" for="chart_borderWidth-11">Epaisseur</label>
    								<input id="chart_borderWidth-11" data-id="11" name="chart_borderWidth" type="number" min="1" max="4" class="form-control form-control-sm input-square" value="4">
    						  		<small class="text-info" id="chart_borderWidthHelp" class="form-text text-muted">Epaisseur de la courbe</small>
    						  	</div>
    						  	<div class="form-group col-sm-6">
    						  		<label class="form-check-label" for="pointStyle-11">Point</label>
    						  		<select id="pointStyle-11" data-id="11" name="chart_pointStyle_id_chart_pointStyle" class="form-control form-control-sm input-square">
    									<option value="4">Cicle</option><option value="5">Cross Rot</option><option value="3">Rectangle</option><option value="2">Rectangle rot</option><option value="6">Star</option><option value="1" selected="selected">Triangle</option>								</select>
    								<small class="text-info" id="chart_pointStyleHelp" class="form-text text-muted">Forme du point</small>
    						  	</div>
    						</div>

    Pour cela, l'idé et chercher le sensor avec l'id 11. Je l'identifie avec la class senor-11

    Code JQUERY : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    success: function (data) {    
                $('.sensor-'+data["id_sensor"]);
            }
    Puis je cherche l'élément avec le nom 'chart_borderWidth' (il y a en a qu'un)

    Code JQUERY : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    success: function (data) {    
                $('.sensor-'+data["id_sensor"])..closest('div[name^="'+data["name"]+'"]');
            }
    Puis je cherche son parent et j'ajoute la class hasSuccess
    Code JQUERY : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    success: function (data) {    
                $('.sensor-'+data["id_sensor"]).closest('div[name^="'+data["name"]+'"]').parent('div[class^="form-group"]').addClass("has-success");
            }

    Le problème c'est qu'il y a plusieurs class 'form-group'. et il semble que la classe 'has-succes' est ajoutée à tous les éléments qui ont la class 'form-group' et pas juste à son parent.

    Est-ce que je m'y suis bien pris?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 166
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 166
    Par défaut
    J'ai finallement réussi à le faire ainsi
    Code jquery : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('[for="' + data["name"] + '-' + data["id_sensor"] + '"]').closest(".form-group").addClass("has-success");

    Qu'en pensez-vous?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/08/2018, 09h01
  2. Sélectionner un élément parent spécifique
    Par dust62 dans le forum jQuery
    Réponses: 2
    Dernier message: 07/04/2014, 11h12
  3. Recherche de l'élément le plus proche
    Par Elradriel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/03/2014, 16h50
  4. sélectionner l'enregistrement supérieur le plus proche
    Par JulienCEA dans le forum Langage SQL
    Réponses: 10
    Dernier message: 08/06/2010, 14h10
  5. Pré-sélectionner un élément d'une combobox
    Par delphim dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/06/2003, 15h26

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