ComboBox в компоненте

Может мне кто нибудь подсказать, почму создовая ComboBox не работает такая конструкция, а именно, проблема в том, что в выподающем списке, значения «option value», отображаются из displayField, а надо что бы было из valueField ??? Где мой косяк?

advert.combo.Items = function(config) {
    config = config || {};
    Ext.applyIf(config,{
        store: new Ext.data.ArrayStore({
        	xtype:'combobox',
            id: 0
            ,fields: ['value','display']
            ,data: [
               [0, 0],
               [1, 1]
            ]
        })
        ,mode: 'local'
        ,displayField: 'display'
        ,valueField: 'value'
    });
    advert.combo.Items.superclass.constructor.call(this,config);
};
Ext.extend(advert.combo.Items,MODx.combo.ComboBox);
Ext.reg('combo-items',advert.combo.Items);


Из таблицы выбираются «0 — 1» и легким движением пальцев преврощается в буквы

renderer: function(value) {
	return value == true ? 'Yes' : 'No'
}
Короче надо что бы в списке видно было «Да Нет», а в значениях этого списка было «0-1», то есть, что бы мы видели слова, а в БД летели цыфры, ну или «true-false»
Читал на форумах что надо добавить еще один параметр, типа скрытое поле через которое передается значение самого списка, при сохронении.
hiddenName:'unique_name',
Но после его добовления вообще работать перестает.
Константин
05 июня 2014, 16:13
modx.pro
3 149
0

Комментарии: 9

Константин
06 июня 2014, 00:44
0
Блин, если что то не понятно, вы спрашивайте, а я то может плохо объяснил проблему.
    Виталий Киреев
    06 июня 2014, 06:10
    0
    А чем не устраивает modx-combo-boolean?
      Константин
      06 июня 2014, 11:17
      0
      Да, modx-combo-boolean то же вроде нормально, но опять же он сохроняет почему то не 0-1 и не true-false, а сохроняет Да-Нет
    Алексей Ерохин
    06 июня 2014, 13:00
    +1
    Что-то у Вас намешано все в кучу.
    var storeitems = new Ext.data.ArrayStore({
        id: 'advert-items'
        ,fields: ['value',{name: 'name', type: 'string']}
        ,data: [[1,'Да'],[0,'Нет']]
    });
    advert.combo.Items = function(config) {
        config = config || {};
        Ext.applyIf(config,{
            store: storeitems
            ,displayField: 'name'
            ,valueField: 'value'
            ,hiddenName: 'поле в базе=из mysql map' //не забудьте поменять
            ,mode: 'local'
            ,triggerAction: 'all'
            ,editable: false
            ,selectOnFocus: false
            ,preventRender: true
            ,forceSelection: true
            ,enableKeyEvents: true
        });
        advert.combo.Items.superclass.constructor.call(this,config);
    };
    Ext.extend(advert.combo.Items,MODx.combo.ComboBox);
    Ext.reg('advert-combo-items',miniShop2.combo.ProductSex);
      Константин
      06 июня 2014, 13:11
      0
      Как то странно выглядет этот параметр )))
      fields: ['value',{name: 'name', type: 'string']}
    Константин
    06 июня 2014, 13:13
    0
    Все супер, все работает идеально, ОГРОМНОЕ ВСЕМ СПАСИБО!!!
      Umida
      21 июля 2020, 06:00
      0
      Всем привет! А у меня проблема с modx-combo-boolean в том, что значение НЕТ не отображается. Никак не могу понять где исправить, чтобы принимались значение false для характеристик
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        9