Interconnexion javascript-php sur fond de liste déroulante
Bonjour,
J'ai un petit problème dans mon script. Je tiens tout d'abord à dire que je ne suis pas un spécialiste du javascript mais plus du php, j'ai récuperer un script js pour ajouter/supprimer des listes déroulantes dynamiquement à souhait.
Cela marche nickel sauf que chaque fois j'ajoute ou supprime une nouvelle liste, toutes les "options" des listes <select> reviennent par défaut au premier choix, ne stockant pas les valeurs eventuellement choisis par l'utilisateur.
J'ai réussis à les stocker dans un tableau Javascript. Mais je sèche sur la dernière partie du code, juste pour ecrire le petit "checked" sur l'option voulue, car cette liste à option est génerée par un code PHP qui est lui même integrée dans une fonction javascript.
Si vous avez une idée de la marche à suivre, je n'ai jamais trop mélangé les deux languages.
Un bout de code valant de long discours, le voici:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<? $mets = $Menu->listMets(); ?> //Les données sont pompées d'une BD, triées puis formatée dans un beau tableau.
....
function createInput(id) {
arrInput[id] = "<select onchange='saveValue("+id+",\"mets-"+id+"\")' id='mets-"+id+"' name='mets[]'>
<?
foreach ($mets as $valueMet) {
$valueSelect .= "<option value='".$valueMet[0]."'>".$valueMet[1]."</option>";
}
echo $valueSelect; //On écrit la variable php dans la variable Js
?></select><a href='javascript:deleteInput("+ id +")'>Remove field(s)</a><br>\n\n";
return arrInput[id];
} |
La fonction saveValue enregistre cette fameuse valeur dans le tableau Js arrInputValue[] avec la meme clé que arrInput[].
Comment et dans quel language posé mon if(--->checked) sur la bonne balise <option>. En gros je dois mettre du genre if(arrInputValue[id] == $valueMet[0]) echo "checked" mais j'ai deux langages mélangés, donc il faudrait le faire plutot en javascript pour que ça reste dynamique.
Voilà si quelqu'un à une idée ça serait vraiment sympa, je m'embrouille les neurones et n'ai aucune idée de comment jongler de l'un à l'autre. Merci
:)