2016-06-26 2 views
-1

J'ai une liste déroulante 4.2 extjs que j'utilise pour afficher certaines données. Maintenant j'essaye que basé sur une condition le combo afficherait une valeur par défaut. J'ai réussi à retourner les données nécessaires en fonction de cette condition, mais je ne parviens pas à définir la valeur nécessaire dans la liste déroulante. Comment suis-je censé définir cette valeur spécifique?Définir une valeur par défaut d'une liste déroulante extjs 4.2 en utilisant AJAX

combo:

var locationStore = Ext.create('Ext.data.Store', { 
    model: 'model_LOCATION', 
    proxy: { 
     type: 'ajax', 
     url: 'Record?DB=GEO&Table=LOCATION', 
     reader: { 
      type: 'xml', 
      record:'record' 
     } 
    }, 
    autoLoad:true 
}); 




var C_LOCATION= Ext.create('Ext.form.ComboBox', { 
    name : 'C_LOCATION', 
    id : '${DB}.${Table}.C_LOCATION', 
    store : locationStore, 
    queryMode : 'local', 
    displayField : 'display', 
    valueField : 'value', 
}); 

appel AJAX:

var data; 
     var code = 111; 
     data = "CODE ='" + code + "'"; 
     var text; 
     $.ajax({ 
      type: "POST", 
      url: "Record?DB=GEO&Table=LOCATION", 
      dataType: 'xml', 
      data: { 
       "Where": data 
      }, 
      success: function(xml) { 
       text = xml; 
       Ext.getCmp('${DB}.GEO.LOCATION').setValue(text); 
        } 
       }); 
+0

Dans votre méthode de succès, quelle est la valeur de XML à venir? – Saloo

Répondre

-1

Je suppose que vous devrez analyser votre réponse XML. Similaire à votre définition de code pour locationStore, où vous spécifiez l'enregistrement dans la réponse xml.

Pourquoi faites-vous le deuxième appel ajax? Ne pourriez-vous pas filtrer le locationStore en fonction de la valeur CODE?

+0

ce n'est pas vraiment une réponse comme élargit la question. – Visualife

+0

Pourquoi, je suppose qu'il doit analyser sa réponse xml pour obtenir la valeur - mais comme @Saloo a commenté, nous aurions besoin de savoir à quoi ressemble la réponse xml. –

0

Attribuez à la zone de liste déroulante une référence dans la section de configuration (reference: 'comboBox'). Puis appelez comboBox.setValue(defaultValueGoesHere) dans votre fonction où vous obtenez la valeur spécifique. Vous devrez peut-être rechercher la référence de comboBox en fonction de l'endroit où vous vous trouvez.