ExtJS и combobox
        Доброй ночи. Почему-то некорректно срабатывает combobox, а точнее вообще не срабатывает. добавлял 2 combobox'a для 2 полей(категории и ФИО) для combobox'a с категорией все впорядке, combobox ФИО делал по аналогии(копи паст и переименовал). Но Категория работает корректно а ФИО нет, не могу понять где что пропустил. вот собственно код. 
На форме обновления
так же приложу часть бд что бы было видно что да как joxi.ru/DrlVOoWuOPzo2P joxi.ru/l2Z6VRqIW4yg2J
Подскажите пожалуйста что я мог упустить, если с textfield поле natface работает хорошо, а с combobox нет… Уже 2 дня промучался так и не понял в чем беда.
    
    
                                                                                
            На форме обновления
Ext.extend(DriverLicense.window.UpdateLicenses, MODx.Window, {
	getFields: function (config) {
		return [{
			xtype: 'hidden',
			name: 'id',
			id: config.id + '-id',
		}, {
			xtype: 'textfield',
			fieldLabel: _('driverlicense_license_number'),
			name: 'number',
			id: config.id + '-number',
			anchor: '99%',
			allowBlank: false,
		}, 		{
			xtype: 'driverlicense-combo-categorycombo',
			fieldLabel: _('driverlicense_license_category'),
			name: 'category',
			id: config.id + '-category',
			anchor: '99%',
			allowBlank: false,
		},{
			xtype: 'datefield',
			fieldLabel: _('driverlicense_license_date_open'),
			name: 'date_open',
			id: config.id + '-date_open',
			anchor: '99%',
			format: 'Y-m-d',
            submitFormat: 'Y-m-d H:i:s',
			allowBlank: false,
		},  {
			xtype: 'driverlicense-combo-natfacecombo',
			fieldLabel: _('driverlicense_license_name'),
			name: 'names',
			id: config.id + '-names',
			anchor: '99%',
			allowBlank: false,
		}, {
			xtype: 'textfield',
			fieldLabel: _('driverlicense_license_issuedby'),
			name: 'issuedby',
			id: config.id + '-issuedby',
			anchor: '99%',
			allowBlank: false,
		}, {
			xtype: 'textfield',
			fieldLabel: _('driverlicense_license_mark'),
			name: 'mark',
			id: config.id + '-mark',
			anchor: '99%',
			allowBlank: true,
		}/*, {
			xtype: 'driverlicense-combo-categorycombo',
			fieldLabel: _('driverlicense_license_active'),
			name: 'active',
			id: config.id + '-active',
			anchor: '99%',
			allowBlank: false,
			
		}*/];
	}
});
Ext.reg('driverlicense-licenses-window-update', DriverLicense.window.UpdateLicenses);в файле combo.jsDriverLicense.combo.CategoryCombo = function(config) {
    config = config || {};
    Ext.applyIf(config,{
        name: 'category'
        ,hiddenName: 'category'
        ,displayField: 'name'
        ,valueField: 'id'
        ,url: DriverLicense.config.connectorUrl
        ,baseParams: { action: 'mgr/category/getlist' }
        ,fields: ['id','name']
        ,pageSize: 20        
        ,typeAhead: true
        ,editable: true
    });
    DriverLicense.combo.CategoryCombo.superclass.constructor.call(this,config);
};
Ext.extend(DriverLicense.combo.CategoryCombo,MODx.combo.ComboBox);
Ext.reg('driverlicense-combo-categorycombo',DriverLicense.combo.CategoryCombo);
DriverLicense.combo.NatfaceCombo = function(config) {
    config = config || {};
    Ext.applyIf(config,{
        name: 'natface'
        ,hiddenName: 'natface'
        ,displayField: 'name'
        ,valueField: 'id'
        ,url: DriverLicense.config.connectorUrl
        ,baseParams: { action: 'mgr/natface/getlist' }
        ,fields: ['id','name']
        ,pageSize: 20        
        ,typeAhead: true
        ,editable: true
    });
    
    DriverLicense.combo.NatfaceCombo.superclass.constructor.call(this,config);
};
Ext.extend(DriverLicense.combo.NatfaceCombo,MODx.combo.ComboBox);
Ext.reg('driverlicense-combo-natfacecombo',DriverLicense.combo.NatfaceCombo);В процессе тестирования выявил что с xtype: 'textfield' работает форма корректно(данные изменяются). Так же в файл update.class.php вывел результат переданных значений$names = trim($this->getProperty('names'));
        $this->modx->log(modX::LOG_LEVEL_ERROR, '????????????????'.$names);    
        $this->modx->log(modX::LOG_LEVEL_ERROR, '!!!!!!!!!!!!!!!!!!'.$this->object->get('names'));  
        
        $category = trim($this->getProperty('category'));
        $this->modx->log(modX::LOG_LEVEL_ERROR, '????????????????------'.$category);    
        $this->modx->log(modX::LOG_LEVEL_ERROR, '!!!!!!!!!!!!!!!!!!-----'.$this->object->get('category'));и на выходе получил joxi.ru/YmEDka5FzE7er6так же приложу часть бд что бы было видно что да как joxi.ru/DrlVOoWuOPzo2P joxi.ru/l2Z6VRqIW4yg2J
Подскажите пожалуйста что я мог упустить, если с textfield поле natface работает хорошо, а с combobox нет… Уже 2 дня промучался так и не понял в чем беда.
Комментарии: 9
                А в чем проблема: не создается в окне или не сохраняется значение?            
                    
                не передается значение id с комбобокса в другую таблицу. Постоянно на выходе пустое значение. joxi.ru/1A5p9xYhyekV2E Хотя в сам комбобокс поступаюи и id и name joxi.ru/xAe0eDohxQ6N2y, id проверял через displayField: 'id'.
Только что попробовал подключить нв столбец ФИО работающий комбобокс(Категории) и та же ситуация, на поле ФИО не происходит изминений при выборе какого либо пункста из комбобокса, при этом само поле Категории с комбобоксом Категории работает нормально.
Куда рыть уже не знаю
PS. Сейчас таблица в виде joxi.ru/KAgGMoVTbw6kAl, когда изменяю поле ФИО на
                    Только что попробовал подключить нв столбец ФИО работающий комбобокс(Категории) и та же ситуация, на поле ФИО не происходит изминений при выборе какого либо пункста из комбобокса, при этом само поле Категории с комбобоксом Категории работает нормально.
Куда рыть уже не знаю
PS. Сейчас таблица в виде joxi.ru/KAgGMoVTbw6kAl, когда изменяю поле ФИО на
editor: { xtype: 'driverlicense-combo-natfacecombo' ,renderer: true},получаю joxi.ru/xAe0eDohxQPN2y Но в окнах создания и редактирования почему-то происходит непонятная фигня(((            
                У комбобоксса с именами укажи
                    name: 'names'
,hiddenName: 'names'            
                елы-палы!!! Сработало!!! Спасибо!!!!!
Еще один вопросик можно?)
Мы можем как-то выводить в комбобоксе не одно значение в displayField: 'name' а несколько, через запятую к примеру?
                    Еще один вопросик можно?)
Мы можем как-то выводить в комбобоксе не одно значение в displayField: 'name' а несколько, через запятую к примеру?
                Комбобокс выводит то, что ему пришлет mgr/natface/getlist. Сформируй поле name как тебе хочется. Только что тогда будет значить id?
П.С. Для выражения спасибо можно можно использовать плюсик. :)
                    П.С. Для выражения спасибо можно можно использовать плюсик. :)
                к примеру я хотел бы вывести name, passport в комбобоксе, значение id при этом же не поменяется, т.к. name и passport соответствуют одному id(человеку). name, passport находятся в mgr/natface/getlist            
                    
                Ну как -то так
                    public function prepareRow(xPDOObject $object) {
	$row = $object->toArray();
	$row['name'] = $row['name'].' : '.$row['passport'];
	return $row;            
                я так понял это на PHP, а мне нужно на ExtJS, типа для пользователя отображается одно, но в базу вносится другое.
Вот я пытался сделать так
но когда я выбираю один из пунктов получаю пустое поле(как будто ничего и не выбирал) joxi.ru/gmvgevXSRLdd2a
                    Вот я пытался сделать так
DriverLicense.combo.NatfaceCombo = function(config) {
    config = config || {};
    Ext.applyIf(config,{
        name: 'names'
        ,hiddenName: 'names'
        ,displayField: 'name'
        
        ,url: DriverLicense.config.connectorUrl
        ,baseParams: { action: 'mgr/natface/getlist' }
        ,fields: ['id','name']
        ,pageSize: 20        
        ,typeAhead: true
        ,editable: true
        ,tpl: '<tpl for="."><div class="x-combo-list-item" >{name} {id} </div></tpl>'
        ,valueField: 'id'
    });
    
    DriverLicense.combo.NatfaceCombo.superclass.constructor.call(this,config);
};
Ext.extend(DriverLicense.combo.NatfaceCombo,MODx.combo.ComboBox);
Ext.reg('driverlicense-combo-natfacecombo',DriverLicense.combo.NatfaceCombo);и получаю такой результат joxi.ru/12MjQYRuQMkVAJно когда я выбираю один из пунктов получаю пустое поле(как будто ничего и не выбирал) joxi.ru/gmvgevXSRLdd2a
                Насколько я понял твою задачу, достаточно в процессоре mgr/natface/getlist прописать функцию
Если принципиально на ExtJS, то тут уж сам, помочь не смогу.
                    public function prepareRow(xPDOObject $object) {
	$row = $object->toArray();
	$row['name'] = $row['name'].', '.$row['passport'];
	return $row;
}И всё! Если принципиально на ExtJS, то тут уж сам, помочь не смогу.
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.