Lookup (jqm1000)
Le support des listes de sélection permet d'alimenter un zone de sélection par le résultat d'une interrogation du serveur.
Champ de sélection
L'usage d'une liste de sélection ce fait dans le cadre d'un formulaire de saisie encapsulé dans une page.
Dans cette page vous gérez des champs de saisie, dans le code html de la page ajoutez un champ select pour gérer la sélection :
<div data-role="content"> .... <div data-role="fieldcontain"> <select name="field_motif" class="lookup" data-lookup="/lookupMotifs" id="field_motif" ><option>select a motif</option></select> </div> </div>
Le champ doit avoir la classe lookup pour permettre l'alimentation des valeurs de sélection.
Chargement des listes de sélection
Le chargement de la liste de sélection peut se faire après la connexion au serveur, cette méthode est particulièrement adaptée si les valeurs sélectionnées sont statiques.
Dans ce cas utilisez la méthode onConnected du contexte de l'objet $l1000 :
$(document).ready( function() { $.l1000.initialize({ .... onConnected: function () { // load lookups $('.lookup').lookup(); } }); }
Cette méthode va charger tous les champs de sélection ayant la classe lookup
Code serveur
Coté serveur vous devez prévoir une requête les valeurs sélectionnable.
Cette requête doit retourner une structure de couple valeur/libellé :
//Procedure getMotifs(req:Tjson; var resp:TObject); var json:TJson; inst:TEtatRefus; indx:Integer; begin json := TJson.Create(''); resp := json; indx := 0; foreachP inst in TEtatRefus.CreateCursor do begin json.result[indx].t := inst.Caption; json.result[indx].v := inst.Code; indx := indx+1; end; end;