Bonjour à toutes et à tous,
Je reçois par :
Le tableau JSON suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $.ajax( { type: "POST", url: "<?php echo base_url('index.php/ORDRES_TRANSPORTS/ordres_transports_c/XHR_liste_chauffeurs_disponibles');?>/"+date_heure_ordre_transport_DATE,
Et j'exploite ces données pour reconstruire une liste déroulante avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part {"inconnu":"inconnu","21":"21 : Nils Bbb \u279c astreinte","1":"1 : Alain-Bernard Delarose \u279c astreinte","67":"67 : Val\u00e9rie Delarose \u279c maladie","24":"24 : Albert Einstein \u279c maladie"}
Mon problème est que cette fonction $.each() ordonne les résultats par les Id (à gauche des : ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $.each(liste_chauffeurs_disponibles,function(id_chauffeur,texte) { // On crée les options du select. var opt = $('<option />'); opt.val(id_chauffeur); opt.text(texte); console.log($(opt)); // On positionne ces nouvelles options à la suite des options existantes (qui ont été supprimées au début !) // pour le select identifié par id="id_chauffeur" $('#id_chauffeur').append(opt); } );
Les données reçues dans cet ordre :
"inconnu":"inconnu",
"21":"21 : Nils Bbb \u279c astreinte",
"1":"1 : Alain-Bernard Delarose \u279c astreinte",
"67":"67 : Val\u00e9rie Delarose \u279c maladie",
"24":"24 : Albert Einstein \u279c maladie"
Deviennent, après traitement du $.each(), une liste déroulante dans cet ordre :
"1":"1 : Alain-Bernard Delarose \u279c astreinte",
"21":"21 : Nils Bbb \u279c astreinte",
"24":"24 : Albert Einstein \u279c maladie"
"67":"67 : Val\u00e9rie Delarose \u279c maladie",
"inconnu":"inconnu",
Alors, que je voudrais conserver l'ordre original qui est alphabétique sur les noms (extract SQL) et avec inconnu en premier.
Ici, je lis "Bovino, tu peux maîtriser l'ordre de tes champs via l'attribut DataMember de la classe que tu souhaites serialiser en JSON".
J'ai cherché DataMember, mais je ne vois pas comment l'utiliser ?
Comment faire ça ?
Merci.
Partager