Ver Mensaje Individual
  #14 (permalink)  
Antiguo 05/10/2010, 17:16
lalolerena
 
Fecha de Ingreso: octubre-2010
Ubicación: Uruguay, Canelones
Mensajes: 66
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Zend select's dependientes

Primero, creo que en la clase le deberías de modificar la funcion getEmpresasList() por:

public function getEmpresasList($razon_social = 1)
{
$this->_db3 = Zend_Registry::get('db3');
$select = $this->_db3->select()
->from($this->_empresa,
array('key' => 'id_uname','value' => 'nombre'))
->where('id_razon_social = ?', $razon_social)
#entiendo que debo de poner aqui una variable al llamar al get empresasList
$result = $this->_db3->fetchPairs($select);
return $result;
}
Con esto varias el $result, segun la razon social que tengas.

---------------------------------------------------------------------------------------------------------------------------

Segun lo que logro entender, no sabes como agarrar lo datos enviados vía ajax???

Primero, en el enlace que te mando podes descargar los ejemplos y lo trabajas desde localhost. Tenes los archivos e inspeccionas.

Despues:
Generas un action dentro del controller que vos creas necesario, mas o menos como te lo paso

function ajaxAction()
{
//Estos dos desactivan que se muestre en la vista, osea no necesita una archivo phtml
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();


//Esto consulta si se esta accediendo a esta accediendo a esta accion vía ajax
if (!$this->getRequest()->isXmlHttpRequest())
{
//En caso negativo, redirecciona a una pagina
$this->_redirect([tu pagina]);
}

//Esto consulta si los datos son enviados por POST, podes cambiarlo por $this->_request->isGet()
if (!$this->_request->isPost())
{
//En caso negativo, se ejecuta algo
echo 'Los datos no son POST';
return;
}

//Llamamos a tu clase
$DatosBase = new DatosBase();

//Variable enviado desde ajax del elemento select
$razon_social = $this->_getParam('razon_social');

//Adquirimos los datos de las empresa para la razon social enviada por ajax
$result = $DatosBase->getEmpresasList($razon_social);

//Creamos el elemento a crearse select
//El id lo cambias al que estaba
$selectHtml = '<select id="empresa">';
//Recorremos la variable $result
foreach($result as $valor)
{
//Aqui realizas los option como correspoden, con los valores de tu BD
$selectHtml .= '<option value="'.$valor['empresa_id'].'">'.$valor['empresa_nombre'].'</option>'
}
//Cerramos el elemento a crearse select
$selectHtml .= '</select>';

//Imprimimos el resultado del select
echo $selectHtml;

//Atraves del echo es como vía ajax se toman los datos
//el return no sirve para ajax
}


Bueno, espero que esto solucione parte de tu duda

Otra cosa, si usas en el localhost firefox para trabajar te recomiendo que te bajes el firebug (complemento del navegador), es una solucion para los programadores