Foros del Web » Programando para Internet » Javascript »

Select anidados javascript

Estas en el tema de Select anidados javascript en el foro de Javascript en Foros del Web. Hola a todos, necesito vuestra ayuda urgentemente ;) ya que estoy desesperada, ante todo mil gracias por las respuestas. Estoy utilizando Zend, y quiero anidar ...
  #1 (permalink)  
Antiguo 15/02/2013, 04:54
 
Fecha de Ingreso: febrero-2013
Ubicación: Asturias
Mensajes: 10
Antigüedad: 11 años, 2 meses
Puntos: 0
Select anidados javascript

Hola a todos, necesito vuestra ayuda urgentemente ;) ya que estoy desesperada, ante todo mil gracias por las respuestas.


Estoy utilizando Zend, y quiero anidar dos combox, con javascript.

El primer combo muestra provincias de España, segun la provincia seleccionada se mostrarán en el segundo combo los municipios que forman la misma.


Os pongo el código que tengo porque no encuentro q es lo q falla :(


FORMULARIO:

$provincia= new Zend_Form_Element_Select('id_provincia');
$provincia->setLabel('Provincia: ');
$provincia->setRequired(true);

$tabla_provincias = new Application_Model_DbTable_Provincia();
foreach ($tabla_provincias->listar() as $c) {
$provincia->addMultiOption($c->id_provincia, $c->nombre);
}//Accedo a la BBDD para listar provincias.

$provincia->setAttrib('onChange', 'cargarZonas();');
$zona= new Zend_Form_Element_Select('id_zona');
$zona->setLabel('Zona: ');
$zona->setRequired(true);
$zona->clearValidators();

$tabla_zonas = new Application_Model_DbTable_Zona();
$zona->addMultiOption(NULL,'Elija una zona de su provincia');


METODO CARGARZONAS() EN JAVASCRIPT (LO PUSE EN EL LAYOUT)

<script language="javascript" type="text/javascript">
function cargarZonas(){
var opcionSeleccionada=$("provincia").val();
var selectZona=$('zona');
$(opcionSeleccionada);
$.ajax(
{
async: true,
type: 'POST',
url: '/pedidos/ajax',
data: "id_provincia="+opcionSeleccionada,
dataType: 'json',

beforeSend: function(data){
selectZona.html('<label>Cargando...</label>');
},
success: function(data){
selectZona.append(
$('<option></option>').val(data.id).html(data.version)
);
},
error: function(requestData, strError, strTipoError){
}

});
}
</script>


CONTROLADOR PEDIDOS ACCION AJAX


public function ajaxAction()
{
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();
if (!$this->getRequest()->isXmlHttpRequest())
{
$this->_redirect('index');
}
$tabla_zonas= new Application_Model_DbTable_Zona();
$id_provincia = $_POST["id_provincia"];
echo $id_provincia;
$zonas=$tabla_zonas->getAsKeyValueJSON($id_provincia);
echo Zend_Json::encode($zonas);
}


EN EL MODELO TENGO LA TABLA QUE REPRESENTA A LOS DISTINTOS MUNICIPIOS, SE LLAMA ZONA Y TIENE EL METODO getAsKeyValueJSON(), ES DONDE HAGO LA SELECT

public function getAsKeyValueJSON($id_provincia) {
$select = $this->select()
->where('id_provincia = ?', $id_provincia);
$resultados_zonas = $this->fetchAll($select)->toArray();
return $resultados_zonas;
}






MIL GRACIAS POR VUESTRA AYUDA ;), perdonar las molestias pero no domino muy bien esto.
  #2 (permalink)  
Antiguo 16/02/2013, 09:15
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: Select anidados javascript

Recomendacion : usar el inbox de codigo.

Etiquetas: ajax, anidados, formulario, html, js, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:15.