2012-05-25 2 views
3

J'ai une page avec un formulaire pour le remplir avec des informations sur les clients. J'ai eu des données de custormers antérieures stockées dans un tableau php. Avec une liste déroulante, les utilisateurs peuvent remplir le formulaire avec mes données stockées. Ce que j'ai est une fonction jquery qui se déclenche quand la valeur change et dans cette fonction je voudrais mettre à jour les valeurs de formulaire avec mes données stockées (dans mon tableau php).passer tableau php à la fonction jquery

Problème est que je ne sais pas comment passer mon tableau php à la fonction jquery, une idée ??

Voilà comment je remplir le tableau:

$contador_acompanantes = 0; 

foreach ($acompanantes->Persona as $acomp) 
{ 
    $numero = $acomp->Numero; 
    $apellidos = $acomp->Apellidos; 
    $nombre = $acomp->Nombre; 

    $ACOMPANANTES[$contador_acompanantes] = $ficha_acomp; 
    $contador_acompanantes++; 
} 

obtenu mon select objet:

<select name="acompanante_anterior" id="acompanante_anterior"> 
<option value="1" selected>Acompañante</option> 
<option value="2">acompanante1</option> 
<option value="2">acompanante2</option> 
</select> 

et voici mon code pour la fonction jquery (il est dans la même page .php)

<script type="text/javascript"> 
$(document).ready(function() 
{ 
$('#acompanante_anterior').on('change', function() 
    { 

    }); 
}); 
</script> 

Répondre

16
var arrayFromPHP = <?php echo json_encode($phpArray); ?>; 
$.each(arrayFromPHP, function (i, elem) { 
    // do your stuff 
}); 
+0

je suis testig ce code avec un simple tableau et essayer d'obtenir une alerte ('') pour chaque valeur dans ma chaîne et je ne reçois pas –

+0

merci, enfin travaillé à changer la structure du tableau –

+0

merci .. cela m'a vraiment aidé – Charmie

0

essayer celui-ci ..

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
    $('#acompanante_anterior').on('change', function() 
     { 
      my_array = new Array(); 

      <?php foreach($array as $key->val)?> 
       my_array['<?php echo $key?>'] = '<?php echo $val;?>'; 
      <?php endif; ?> 

     }); 
    }); 
    </script> 
1

Vous voudrez probablement utiliser json_encode, incorporez le JSON dans la page, et d'analyser avec JSON-js. En utilisant cette méthode, vous devez être conscient de l'échappement </script>, des guillemets et d'autres entités. En outre, des problèmes de sécurité standard s'appliquent. Démo ici: http://jsfiddle.net/imsky/fjEgj/

HTML:

<select><option>---</option><option>Hello</option><option>World</option></select> 

<script type="text/javascript"> 
    var encoded_json_from_php = '{"Hello":[1,2,3], "World":[4,5,6]}'; 
    var json = JSON.parse(encoded_json_from_php); 
</script> 

jQuery:

$(function() { 
    $("select").change(function() { 
     $(this).unbind("change"); 
     var val = json[$(this).val()]; 
     var select = $(this); 
     $(this).empty(); 
     $.each(val, function(i, v) { 
      select.append("<option>" + v + "</option>"); 
     }); 
    }); 
}); 
Questions connexes