No me funciona el evento procesar

Hola, estoy necesitando que en un formulario, en el que quiero filtrar, me oculte o muestra un combo, esta es la funcion:
echo "

    //---- Eventos ---------------------------------------------
    
	{$this->objeto_js}.evt__metodo__procesar = function(es_inicial)

    {
		if (this.ef('metodo').get_estado = 'DEPENDENCIA'){
				this.ef('dep').mostrar();
			}
		else { 
        	this.ef('cat').mostrar();

			}		
    }
    ";

metodo es un combo que aparece al incializar el form, los combos ‘cat’ y ‘dep’ se ocultan al inicializar, el tema es que al seleccionar una de las opciones de metodo por primera vez, no me muestra nada, despues , por cualquier opcion que selecciono de metodo, me muestra siempre el combo ‘cat’, en metodo tengo solo dos opciones :‘CATEGORIA’ y ‘DEPENDENCIA’, me pueden dar una mano?, desde ya muchas gracias…

Yo creo que el problema está en la condición, ya que debe ser contra el id de la clave y no contra el nombre mostrado en el compo

Por ejemplo: si el id de dependencia es 1 se compara con dicho número
if (this.ef(‘metodo’).get_estado = ‘DEPENDENCIA’)
if (this.ef(‘metodo’).get_estado = 1)

Hola Jose,

me parece que el problema es que get_estado() es una funcion… pero en el condicional lo estas accediendo como si fuera una variable. Tambien tene en cuenta lo que menciona Jhon, dicho metodo te devuelve la clave del combo, no la descripcion.

Saludos

Me queda otra duda y si en el if estan utilizando una asignación = o una comparación ==

Hola Jhon,

tenes razon, eso es otra cosa que esta equivocada, tiene que ser una comparacion y no una asignacion.

Saludos