2017-01-29 6 views
-1

У меня есть комбинированный combobox, который является targetcombo другого combobox.ExtJs combobox not setting value

Ниже приведены некоторые значения из базы данных.

101 - Pink
102 - Красный
103 - темно-синий

Я устанавливаю значение выпадающего списка с помощью SetValue. Но я обнаружил, что он работает только в том случае, если значение не содержит пробела. Для ПРИМЕР-

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

Кроме того,

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

Но

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

ли я делаю что-то неправильно здесь? или пропустили что-либо. Проблема связана с targetcombo. Пожалуйста, помогите.

+1

Я создал скрипку для вас https://fiddle.sencha.com/#view/editor&fiddle/1p50, то SetValue (103) работает для меня. Но я не понимаю, что вы подразумеваете под этим значением. У вас может быть несколько значений? Это не работает для меня. Не могли бы вы воссоздать свою точную проблему со скрипкой? – pagep

ответ

0

Лучше использовать Ext.form.field.Tag. Поскольку Combo multiselect устарел с версии 5.1.0.

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' 
     } 
    ] 

});