Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Ext JS / Sencha
Ext JS / Sencha Ext JS / Sencha Forum d'entraide sur les frameworks Ext JS et Sencha. Avant de poster : FAQ ExtJS / Sencha, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/12/2010, 08h21   #1
Invité de passage
 
Inscription : juillet 2010
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 8
Points : 0
Points : 0
Par défaut [DEBUTANT] Combobox extjs

Bonjour,
Je ne comprend pas très bien le fonctionnement d'un combobox en ExtJS.

Tout d'abord la création d'un JSON store qui récupèrent dans la base de données les informations nécessaire :

Code :
1
2
3
4
5
6
7
var store = new Ext.data.JsonStore({
    autoDestroy: true,
    url:'select.php',
    root:'principal',
    idProperty:'id_store',
    fields:['id_store','lib_store']
});
Ensuite la création du combobox:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var combo = new Ext.form.ComboBox({
    fieldLabel:'Selection',
    id:'select_store',
    store: store,
    valueField:'id_store',
    displayField:'lib_store',
    typeAhead: true,
    mode: 'remote',
    minChars:1,
    triggerAction: 'all',
    emptyText:'Selection...',
    selectOnFocus:true,
    width:200
});
Lorsque je "POST" le combobox, je récupère : "lib_store" .
J'aimerais à l'affichage, afficher "lib_store" et lors du POST récupérer "id_store".

La question est donc, il y a t-il une méthode pour le faire avec des attributs du combobox? que signifie displayField et valueField? merci d'avance...
KiAhS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 09h14   #2
Membre éclairé
 
Avatar de JulienFio
 
Julien Fiorentino
Inscription : novembre 2007
Messages : 201
Détails du profil
Informations personnelles :
Nom : Julien Fiorentino
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2007
Messages : 201
Points : 336
Points : 336
Bonjour,

ValueField et DisplayField

Si j'ai bien compris, displayfield serait le nom du champ et valueField serait la valeur du champ de la combobox.

Donc j'aurais tendance à dire que ton code semble correct si tu souhaites afficher lib_store et récupérer id_store.

Qu'en est-il quand tu récupères la valeur de la combobox ?
JulienFio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 10h55   #3
Invité de passage
 
Inscription : juillet 2010
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 8
Points : 0
Points : 0
Quand je récupère en POST c'est le "lib_store" qui est récupéré.

J'ai effectué des modifications en système D (lol) ce qui donne :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var combo = new Ext.form.ComboBox({
    fieldLabel:'selection',
    tpl: '<tpl for="."><div class="x-combo-list-item">{lib_store}</div></tpl>',
    id:'selectstore',
    store: store,
    displayField:'id_store',
    //typeAhead: true,
    mode: 'remote',
    minChars:1,
    triggerAction: 'all',
    emptyText:'Selection...',
    selectOnFocus:true,
    width:130
});
Donc avec le Template, j'affiche "lib_store" et le displayField récupère la valeur de "id_store" en POST .

Le soucis avec cette méthode c'est lorsque je clique sur le choix (lib_store), il se change en (id_store) à l'affichage.

Ce qui n'est pas très élégant ...
KiAhS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h36.


 
 
 
 
Partenaires

Hébergement Web