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

Symfony PHP Discussion :

tableau de case a cocher dans url_ajax


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut tableau de case a cocher dans url_ajax
    Bonjour, j'ai un petit souci d'ajax,

    j'ai donc un tableau de case a cocher qui ce nomme num_com[] et qui pour valeur un numéro de commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td style="vertical-align: middle">  <INPUT type="checkbox" id="num_com" name="num_com[]" value="<?php echo $customer->getRefExt()?>"
    mon but et que quand je clique sur un bouton

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    jQuery("#bt_submit_numCom").live("click",function(){
    /* je récupére mes case selectionné en javascript je les mets dans un tableau javascript ou php je sais pas trop */
        <?php $tab = array()?>
        jQuery("input:checked[name=num_com[]]").each(function(){
            <?php $tab ?>.push(jQuery(this).val());
        })
    });
    puis je transmet mon tableau tous ca dans une nouvelle action en ajax avec url_for, c'et pour ca c'est un module symofny, donc une action

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    jQuery('#com').dialog({modal: true, minWidth: 800, minHeight: 400, title: 'text_title'});
    
        jQuery.ajax({
            url:"<?php echo url_for("sif/nbCommande?tab=".urlencode(serialize($tab))); ?>",
            cache: false,
            type: 'get',
            success: function(html){
                jQuery('#com').html(html);
            },
            error: function() { alert('Impossible de charger la requête Ajax'); }
        });
        return false;
    });

    si je vais genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php $tab = array('1'=>'214578965')?>
    (
    c'est bon le tableau passe bien dans mon action
    l'affichage en var_dump donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    url_for("sif/nbCommande?tab=".$tab
    $this->liste_numCom = unserialize(urldecode($request->getParameter('tab')));
     
    var_dump($this->liste_numCom);exit;
     
    array(1) { [1]=> string(9) "214578965" }
    mais moi je veut mes valeur des case a cocher selectionné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php $tab= array()?>
     jQuery("input:checked[name=num_com[]]").each(function(){
     <?php $tab ?>.push(jQuery(this).val());
    }
    );
    c'est pas insurmontable mais je n'arrive pas a passer mes valeur de case a cocher selectionné dans un tableau et de le passé en parametre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url_for("sif/nbCommande?tab=".$tab
    Merci les amis de votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    on peut pas utiliser des variables php dans le javascript de la manière dont tu le fais.
    sinon le cheminement a l'air correct, perso je passerai ma requete ajax en méthode post pour pas perdre du temps sur le format d'url et de l'encodage des caractères:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var values_chckbxs = [];
    jQuery("input:checked[name=num_com[]]").each(function(){
        values_chckbxs.push(jQuery(this).val());
    }
    //C'est ici que tu avais une mauvaise utilisation des variables php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $.post(
        "<?php echo url_for('sif/nbCommande'); ?>",
          {
            tab: values_chckbxs
          },
          function(data) { 
            tafonction_de_callback( data);
          }
    );
    action pour récupérer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var_dump($request->getParameter('tab'));
     // ou (je sais plus ^^')
    var_dump(json_decode($request->getParameter('tab')));
    j'ai rien testé, dit moi si ca t'inspires !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut RE
    Merci d'avoir pris un moment de ton temp pour me venir en aide, je débute en ajax, je vais tésté et je tient au courant merci

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/10/2006, 09h06
  2. Case a cocher dans ACCESS
    Par vautour29 dans le forum Access
    Réponses: 2
    Dernier message: 01/06/2006, 13h54
  3. [VB]Case a cocher dans un datagrid
    Par Job dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/01/2006, 12h07
  4. [WebForms]Ajout d'une case a cocher dans l'entête d'un DataGrid
    Par julio84 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 02/06/2005, 15h50

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