Foro

Combos Dependientes en Extjs 4

0
Hola tengo problemas con unos combos dependientes pues la primera vez me trae los Municipios cuando he seleccionado un Departamento, pero al momento de pasar al Combo de Municipios se borra y no muestra nada, el archivo de PHP me esta trayendo bien el JSON, pero no se donde tenga el error, aca les dejo el còdigo por si alguien me puede ayudar, gracias. El Store var store_mpios = Ext.create('Ext.data.Store', { autoLoad: true, pruneModifiedRecords: true, autoSync: true, //remoteFilter: true, //remoteSort: true, storeId: 'storempios', model: modelo_mpios, //pageSize: 10, proxy: { type: 'ajax', url: 'mpios.php', reader: { type: 'json', idProperty: 'id_mpio', root: 'data', fields: ['id_mpio','nombre_mpio'], useSimpleAccessors: true } }, sorters: { property: 'nombre_mpio' } }); { xtype: 'panel', border: 0, width: 272, items: [ { xtype: 'combobox', id:'combo_depto', width: 262, fieldLabel: 'Departamento', emptyText: 'Seleccione un departamento...', labelAlign: 'top', forceSelection:true, editable:false, store:store_deptos, valueField: 'id_depto', displayField: 'nombre_depto', pageSize:10, triggerAction: 'all', allowBlank:false, listeners: { select: function(combo, record, index) { Ext.getCmp('combo_mpio').clearValue(); Ext.getCmp('combo_mpio').getStore().load({ params:{ d: combo.getValue() } }); Ext.getCmp('combo_mpio').enable(); } } } ] }, { xtype: 'panel', border: 0, items: [ { xtype: 'combobox', width: 260, fieldLabel: 'Municipio', id:'combo_mpio', labelAlign: 'top', forceSelection:true, editable:false, store:store_mpios, mode: 'local', valueField: 'id_mpio', displayField: 'nombre_mpio', emptyText: 'Seleccione una ciudad...', //pageSize:10, triggerAction: 'all', disabled: true, allowBlank:false } ] },
0
Lo que he detallado en este caso es que cuando paso del combo de departamentos al combo de municipios este queda vacio, el JSOn si trae los datos, me toca salir de ese combo de municipios y retornar luego al mismo y ahi si me muestra la lista.
0
Ya solucione este caso, gracias... Corregi el listeners del combo de departamentos de la siguiente manera: listeners:{ select: function (combo, record){ simpleCombo.reset(); simpleCombo.store = store_mpios; store_mpios.load({ params: { d: record[0].get('id_depto') } }); simpleCombo.enable(); } }
0
Gracias por compartir la solución. Saludos
0
Crysfel un pregunta, como se que item esta seleccionado si el de la posicion cero o el uno o el dos para poder cambiar este valor en record[0].get pues quiero tomar el valor del store de ese combo pero no el que estoy mostrando y ese valor ya lo quiero tomar es en otro componente.

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.