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 :

form : checkbox dans une modale cochée lors d'un UPDATE


Sujet :

jQuery

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut form : checkbox dans une modale cochée lors d'un UPDATE
    Bonsoir,

    Je me tourne vers vous car je me demande comment, dans une fenêtre modale avec un "form", a l'ouverture de celui ci que les case a cocher qu'il contient soit déjà coché si l'enregistrement existe en base de donnée pour chacun des membres, voici plus en détail
    :


    Je possède un tableau issu d'une requête sql, et dans ce tableau un lien qui m'ouvre une fenêtre modale et dans ce lien je passe les paramètres suivants : id, date et heure, alors voici le lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td> <a data-toggle="modal" data-id="<?php echo $data['id'].'$'.$data['Datefr'].'$'.$data['heure']; ?>" data-toggle="modal" class="open-PersonneDialog btn btn-primary" href="#Personne_dialog"><img src="images/pompiers.png" alt="Personnel" border="0" width="16" height="16" /></a></td>
    pas de soucis ceci fonctionne a merveille et j'ouvre donc ma modale qui m'affiche les info récupéré donc voici un bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        $(document).ready(function () {
     
    		$(document).on("click", ".open-PersonneDialog", function () {
    			//on recoit les données de la personne
         var myBookId = $(this).data('id');
    	 var arrayOfStrings = myBookId.split("$"); // on les split
    	 var id_inter = arrayOfStrings[0]; //on récupre l'id de la commande
    	 var date_inter = arrayOfStrings[1]; //ici on a la date
    	 var heure_inter = arrayOfStrings[2]; //ici on a l'heure
     
    	$(".modal-header .modal-title").empty().append("Intervention du "+date_inter+" a "+heure_inter);
        $(".modal-body #id_inter").empty().val(id_inter);
        $('#Personne_dialog').modal('show');
    });
    Après dans ma fenêtre modale il y a un "form" dans laquelle il y a autant de case a cocher que de membres (a travers une requete mysql j'affiche les membres), voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     <form class="well" id="contact_form" action="modal_ajouter_inter_sql.php" method="POST">
                                 <div class="form-group">Personnes présente : <br/>
     
    							  <?php
                                                                    $sql = 'SELECT id_membres, nom, prenom FROM membres ORDER BY nom DESC';
                                                                    $exec = mysql_query($sql);
                                                                    while ($data = mysql_fetch_array($exec)) { ?>
    							 <div class="checkbox"><label><input type="checkbox" name="check_list[]" value="<?php echo $data['id_membres']; ?>"><?php echo $data['prenom'].' '.$data['nom']; ?></label></div>
    							 <?php } ?>
     
    						</div>
    						<input type="hidden" name="id_inter" id="id_inter" value=""/>
                            </form>
    Donc tout fonctionne correctement je soumet le formulaire avec $ajax, et les données sont inséré en base de donnée (pour info : je fait un INSERT INTO dans ma table pour chaque membres, avec id_inter passé en "hidden" dans le "form".

    Maintenant mon problème est que si il y a déjà des membres affecté a id_inter, alors il faudrait qu'il soit coché dans ma modale !
    Alors je me demande si ma facon de faire serait la bonne :
    Passé toujours dans le lien data-id qui ouvre ma modale les id des membres present pour id_inter, mais aprés comment les affecté au case a coché ???

    j'espére avoir était clair dans mes propos ?? merci d'avance pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Bonjour,

    Puisque tu as l'air de t'en sortir un peu dans ton code, je te la fais rapidement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Si on clique sur le bouton pour ouvrir ta modal
    $('#myModal').on('click', function() {
    // Tu check ta checkbox
    $('.myCheckbox').prop('checked', true);
    }
    Ou sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // Si on clique sur le bouton pour ouvrir ta modal
    $('#myModal').on('click', function() {
    // Requête AJAX pour vérifier quelque chose si jamais
    $.ajax({
    url : "tonurl.php",
    type: "post",
    success: function()  {
    // Tu check ta checkbox
    $('.myCheckbox').prop('checked', true);
    }
    });
    }
    En espérant que ça puisse t'aider un peu.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Par défaut
    Merci pour ton aide jujupomme (je préfere la fraise)

    Si ca peu aider un jour quelqu'un :

    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
    	     $.ajax({
                    url: 'modal_checkbox_inter_sql.php',
                    type: "GET",
                    data: 'identifiant_inter='+id_inter,
                    success: function(data, textStatus, jqXHR) {
    						$(".modal-header .modal-title").empty().append("Intervention du "+date_inter+" a "+heure_inter);
    						$(".modal-body #id_inter").empty().val(id_inter); // on affect l'id de l'intervention dans le form en type hidden
    						//on recupére le resultat du $ajax.GET pour le spliter les id membres
    						var result_requete = data;
    						var arrayOfPersonnes = result_requete.split("$");
    						//on parcour le tableau des membres de l'inter
    						for(var i= 0; i < arrayOfPersonnes.length; i++)
    							{
    								//on coche les membres presents
    								$(".modal-body .chkbox"+arrayOfPersonnes[i]).prop('checked', true);
    							}
    						$('#Personne_dialog').modal('show');
                    },
                    error: function(jqXHR, status, error) {
                        console.log(status + ": " + error);
                    }
                });
    et les checkbox qui sortent d'une requete php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	  <?php
                                                                    $sql = 'SELECT id_membres, nom, prenom FROM membres ORDER BY nom DESC';
                                                                    $exec = mysql_query($sql);
                                                                    while ($data = mysql_fetch_array($exec)) { ?>
    							 <div class="checkbox"><label><input class="<?php echo 'chkbox'.$data['id_membres']; ?>" type="checkbox" name="check_list[]" value="<?php echo $data['id_membres']; ?>"><?php echo $data['prenom'].' '.$data['nom']; ?></label></div>
    							 <?php } ?>
    Donc voila en gros j'ouvre la modal et je coche les case a coché présente en bdd aprés a vous de voir pour mysql

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. [Form et popup] target d'un form ouvert dans une popup
    Par Flobel dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/01/2007, 21h05
  3. [VB6] Ouverture de Forms Conditionelle dans une procédure
    Par paltron dans le forum VB 6 et antérieur
    Réponses: 25
    Dernier message: 14/02/2006, 10h14
  4. Réponses: 1
    Dernier message: 15/08/2005, 19h38
  5. Réponses: 3
    Dernier message: 06/07/2004, 10h21

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