Foro

[Solucionado] Problema con Campo combinado Text + Combo

0
Estoy tratando de hacer (en ExtJS 3) un campo combinado: un TextField donde se pueda cargar el código de Provincia y un combo donde se pueda seleccionar el nombre de la misma. Luego de mucho buscar y probar, llegué a esto: var comboProvinciaStore = new Ext.data.JsonStore({ fields: [ {name: 'CodProv', type: 'string'}, {name: 'Provincia', type: 'string'} ], root: 'cboProvincia', autoLoad: true, url: 'listarProvincias.php' }); var codPcia = new Ext.form.TextField({ id: 'codPcia', minLength: 2, maxLength: 2, xtype: 'numberfield', style: 'text-align: right', width: 40 }); var comboProvincia = new Ext.form.ComboBox({ id: 'Provincia', // fieldLabel: 'Provincia', hiddenName: 'CodProv', name: 'Provincia', width: 300, model: 'local', triggerAction: 'all', displayField: 'Provincia', valueField: 'CodProv', store: comboProvinciaStore, empyText: 'Seleccione una Provincia', editable: false, listeners: { select: function( combo, registro, indice ) { Ext.getCmp('codPcia').setValue(registro.get('CodProv')); }, afterrender: function( cbo ) { cbo.setValue('CodProv'); cbo.setRawValue('Provincia'); }, change: function ( cbo, NuevoValor, ViejoValor ) { cbo.setValue('CodProv'); cbo.setRawValue('Provincia'); } } }); var compoCodyComboProvincia = new Ext.form.CompositeField ( { combineErrors: false, fieldLabel: 'Provincia', items: [ codPcia, comboProvincia ] } ); codPcia.on('change', function ( This, NuevoValor, ViejoValor ) { comboProvincia.setValue(NuevoValor); } ); Las provincias devueltas por listarProvincias.php son: ({"cboProvincia":[{"CodProv":"00","Provincia":"Nacion"},{"CodProv":"02","Provincia":"Ciudad de Buenos Aires"},{"CodProv":"10","Provincia":"Catamarca"},{"CodProv":"14","Provincia":"Cordoba"},{"CodProv":"18","Provincia":"Corrientes"},{"CodProv":"22","Provincia":"Chaco"},{"CodProv":"26","Provincia":"Chubut"},{"CodProv":"30","Provincia":"Entre Rios"},{"CodProv":"34","Provincia":"Formosa"},{"CodProv":"38","Provincia":"Jujuy"},{"CodProv":"42","Provincia":"La Pampa"},{"CodProv":"46","Provincia":"La Rioja"},{"CodProv":"50","Provincia":"Mendoza"},{"CodProv":"54","Provincia":"Misiones"},{"CodProv":"58","Provincia":"Neuquen"},{"CodProv":"62","Provincia":"Rio Negro"},{"CodProv":"66","Provincia":"Salta"},{"CodProv":"70","Provincia":"San Juan"},{"CodProv":"74","Provincia":"San Luis"},{"CodProv":"78","Provincia":"Santa Cruz"},{"CodProv":"82","Provincia":"Santa Fe"},{"CodProv":"86","Provincia":"Santiago del Estero"},{"CodProv":"90","Provincia":"Tucuman"},{"CodProv":"94","Provincia":"Tierra del Fuego"}]}) El problema es que al principio andaba bien, pero luego (de algún cambio que no recuerdo) empezó a poner la palabra "Provincia" en el combo, al salir de dicho combo... ¿Alguien me ayudaría a arreglarlo? Gracias.
0
Ya lo solucioné, lo dejo acá por si le sirve a alguien. Sobraba el evento change del combo, lo saqué y quedó así: listeners: { select: function( combo, registro, indice ) { Ext.getCmp('codPcia').setValue(registro.get('CodProv')); }, afterrender: function( cbo ) { cbo.setValue('CodProv'); cbo.setRawValue('Provincia'); }} y con eso anda perfecto.

¿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.