2016-06-26 4 views
-1

Ich habe eine extjs 4.2 Combobox, die ich verwende, um einige Daten anzuzeigen. Jetzt versuche ich, dass die Combo basierend auf einer Bedingung einen Standardwert anzeigen würde. Ich habe es geschafft, die benötigten Daten basierend auf dieser Bedingung zurückzusenden, jedoch konnte ich den notwendigen Wert nicht in der Combobox einstellen. Wie soll ich diesen spezifischen Wert festlegen?Legen Sie einen Standardwert für eine extjs 4.2 Combobox mit 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', 
}); 

AJAX-Aufruf:

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

Welchen Wert hat XML in Ihrer Erfolgsmethode? – Saloo

Antwort

-1

Ich denke, Sie müssen Ihre XML-Antwort analysieren. Ähnlich wie in Ihrer Codedefinition für den Standortspeicher, in dem Sie den Datensatz in der XML-Antwort angeben.

Warum machen Sie den zweiten Ajax Anruf? Können Sie den locationStore nicht basierend auf dem CODE-Wert filtern?

+0

Dies ist nicht wirklich eine Antwort, wie die Frage erweitert. – Visualife

+0

Warum, ich denke, er muss seine XML-Antwort parsen, um den Wert zu erhalten - aber wie @Saloo kommentierte, müssten wir wissen, wie die XML-Antwort aussieht. –

0

Geben Sie der Combobox einen Verweis im Konfigurationsabschnitt (reference: 'comboBox'). Dann rufen Sie comboBox.setValue(defaultValueGoesHere) in Ihrer Funktion, wo Sie den spezifischen Wert erhalten. Sie müssen möglicherweise die ComboBox-Referenz suchen, je nachdem wo Sie sind.

Verwandte Themen