Encodage tableau php->javascript pour interaction de menus déroulants
J'ai résolu le problème en coupant la chaîne de caractères lors de l'insertion des valeurs dans le menu déroulant.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| $result7 = $mysqli->query("SELECT DISTINCT reseaux.nom_reseau, reseaux.rne, anuetab.dept, anuetab.uaicom
From anuetab
INNER JOIN reseaux On reseaux.rne=anuetab.rne
INNER JOIN fet ON fet.netab = anuetab.rne WHERE(anuetab.sectco='PU')
AND (anuetab.rne!='0771357G')AND (anuetab.rne!='0930863H') AND (anuetab.rne!='0771436T')
AND reseaux.nom_reseau!=''
GROUP BY anuetab.uaicom
ORDER By substr(reseaux.rne,2,2) DESC, reseaux.nom_reseau DESC, anuetab.uaicom DESC");
while ($row = $result7->fetch_assoc()) {
$tabcommuner=array();
$tabcommuner=array($row['uaicom']=>$row['nom_reseau']);
foreach ($tabcommuner as $keycommuner=>$valuecommuner)
{
$tableaucommuner[]=$keycommuner.",".$valuecommuner;
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| var tableaucommuner;
var tableaucommuner=<?= json_encode($tableaucommuner) ?>;
function remplirCommuner(code){
var communer = new Array();
communer[0] = new Array();
for(i=0;i<tableaucommuner.length;i++){
var reseaurr=tableaucommuner[i].toString().split(",");
var reseaurrsplit=reseaurr[1];
if(communer[reseaurrsplit]!= undefined){
//on supprime le code du réseau dans le select des réseaux
communer[reseaurrsplit] = new Array(tableaucommuner[i]).concat(communer[reseaurrsplit]) ;
}
else if(communer[reseaurrsplit]==undefined){
//on fait le premier choix
communer[reseaurrsplit] = new Array(tableaucommuner[i]);
}
var lesCommuner = communer[ code ];
}
document.getElementById('commune').options.length = lesCommuner.length;
//on rajoute l'option "Choisir" en JavaScript
var oSelect = document.getElementById('commune');
var oOption = document.createElement('OPTION');
oSelect.options.add(oOption);
//pour que le menu Choisir soit toujours au début (..)
oOption.text = "..Choisir";
oOption.value = "";
//Si le réseau est choisi
if (code!=0){
for (i=0; i<lesCommuner.length; i++){
//pour ne ramener que les communes, on coupe la chaîne de caractères
lesCommuner[i]=lesCommuner[i].split(",");
lesCommuner[i]=lesCommuner[i][0];
document.getElementById('commune').options[i].value=lesCommuner[i];
document.getElementById('commune').options[i].text = lesCommuner[i];
}
//on trie le menu déroulant pour avoir "..Choisir en premier'
Listec=new Array();
Objc= document.getElementById('commune');
for(i=0;i<Objc.options.length;i++){
Listec[i]=new Array();
Listec[i][0]=Objc.options[i].text;
Listec[i][1]=Objc.options[i].value;
}
Listec=Listec.sort();
for(i=0;i<Objc.options.length;i++){
Objc.options[i].text=Listec[i][0];
Objc.options[i].value=Listec[i][1];
}
Objc.options.selectedIndex = 0;
}
else{
document.getElementById('commune').options.length = 1;
document.getElementById('commune').value = 0;
document.getElementById('commune').options[0].text = "-- Choisissez une commune";
}
} |
Merci pour ton lien, je vais l'étudier, j'avais résolu déjà mon problème sur la question posée
Merci pour ton lien, je vais l'étudier, j'avais résolu déjà mon problème sur la question posée.
Cordialement,