2017-01-29 5 views
-1

Ich habe eine Multiselect Combobox, die Targetcombo einer anderen Combobox ist.ExtJs Combobox nicht Einstellwert

Im Folgenden sind einige Werte aus der Datenbank.

101 - Pink
102 - Red
103 - Dunkelblau

Ich gründe Wert von Combobox setValue verwenden. Aber ich fand, dass es nur funktioniert, wenn der Wert keinen Platz enthält. Für Beispiel-

combobox1.setValue(101); // Works 
combobox1.setValue(102); // Works 
combobox1.setValue(103); // Does Not Work 

, auch

var val = '101,102'; 
combobox1.setValue(val.split(',')); // Works well. Displays 'Pink, Red' 

Aber

var val = '101,103'; 
combobox1.setValue(val.split(',')); // Displays only 'Pink' 

Mache ich hier etwas falsch? oder etwas verpasst haben. Ist das Problem auf Targetcombo bezogen? Bitte helfen.

+1

ich Geige erstellt haben für Sie https://fiddle.sencha.com/#view/editor&fiddle/1p50, die setValue (103) arbeitet für mich. Aber ich verstehe nicht, was Sie mit dieser Wertaufteilung meinen. Sie können mehrere Werte haben? Es funktioniert nicht für mich. Könntest du dein genaues Problem mit der Geige neu erstellen? – pagep

Antwort

0

Besser zu verwenden Ext.form.field.Tag. Weil Combo Multiselect seit Version 5.1.0 veraltet ist.

Ext.define('Ext.form.field.Tag', { 
    items: [ 
     { 
      xtype: 'tagfield', 
      id: 'tagF', 
      valueField: 'value', 
      store: 'CustomStore', 
     }, 
     { 
      xtype: 'button', 
      handler: function(button, e) { 
       Ext.first('#tagF').setValue(101) 
      }, 
      text: '101' 
     }, 
     { 
      xtype: 'button', 
      handler: function(button, e) { 
       Ext.first('#tagF').setValue(102) 
      }, 
      text: '102' 
     }, 
     { 
      xtype: 'button', 
      handler: function(button, e) { 
       Ext.first('#tagF').setValue(103) 
      }, 
      text: '103' 
     }, 
     { 
      xtype: 'button', 
      handler: function(button, e) { 
       var val = '101,102'; 
       Ext.first('#tagF').setValue(val.split(',')); 
      }, 
      text: 'split' 
     } 
    ] 

});