Lo que quiero es que pasando los 2 primeros datos 1.- Pais 2.- Provincia
Se despliege en texto plano lo que tengo en X tabla, a como lo tengo ahora se despliega en un Dropdown. Muchas gracias
PS: Trabajo sobre codeigniter
Saludos.
CONTROLADOR
Código PHP:
<?php
class Inicio extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('Paises_model');
}
function index()
{
$datos['paises']=$this->Paises_model->obtenPaises();
$this->load->view('select_dependiente',$datos);
}
function provincias_select()
{
$pais=$this->input->post('id_paisjs');
$datos['provincias']=$this->Paises_model->obtenProvincias($pais);
$this->load->view('provincias_select',$datos);
}
function ciudades_select()
{
$provincia=$this->input->post('id_provinciajs');
$datos['ciudades']=$this->Paises_model->obtenCiudades($provincia);
$this->load->view('ciudades_select',$datos);
}
}
?>
MODELO
Código PHP:
<?php
class Paises_model extends CI_Model {
function __construct(){
parent::__construct();
}
function obtenPaises()
{
$data=array();
$q2 = $this->db->select('*');
$q2 = $this->db->get('pais');
foreach ($q2->result_array() as $row2){
$data[] = $row2;
}
return($data);
}
function obtenProvincias($id)
{
$data=array();
$q2 = $this->db->select('*');
$q2 = $this->db->where('idpais',$id);
$q2 = $this->db->get('provincia');
foreach ($q2->result_array() as $row2){
$data[] = $row2;
}
return($data);
}
function obtenCiudades($id)
{
$data=array();
$q2 = $this->db->select('*');
$q2 = $this->db->where('idprovincia',$id);
$q2 = $this->db->get('ciudad');
foreach ($q2->result_array() as $row2){
$data[] = $row2;
}
return($data);
}
}
?>
Código PHP:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script language="JavaScript" type="text/javascript" src="<?php echo base_url(); ?>js/jquery-1.3.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo base_url(); ?>js/procesar.js"></script>
<script>
base_url='<?php echo base_url(); ?>index.php/';
</script>
</head>
<body>
<p>
Pais:<br>
<select name="id_pais" id="id_pais">
<option value="-1">SELECCIONAR</option>
<?php
foreach($paises as $i => $dato)
{
echo '<option value="'.$dato['idpais'].'">';
echo $dato['nombre_pais'];
echo '</option>';
}
?>
</select>
</p>
<p>
Provincia:<br>
<select name="id_provincia" id="id_provincia" disabled="disabled">
</select>
<img src="<?php echo base_url(); ?>imagenes/loader.gif" style="display:none;" alt="Cargando" id="imgbloque"/
</p>
<p>
Tema:<br>
<select name="id_ciudad" id="id_ciudad" disabled="disabled">
</select>
<img src="<?php echo base_url(); ?>imagenes/loader.gif" style="display:none;" alt="Cargando" id="imgtema"/>
</p>
</body>
</html>
Procesar.js
Código:
$(document).ready(function(){ $("#id_pais").change(function(){ if($(this).val()!=""){ var dato=$(this).val(); $("#imgprovincia").show(); $.ajax({ type:"POST", dataType:"html", url:base_url+"inicio/provincias_select", data:"id_paisjs="+dato, success:function(msg){ $("#id_provincia").empty().removeAttr("disabled").append(msg); $("#imgprovincia").hide(); $("#id_ciudad").empty().attr("disabled","disabled"); } }); }else{ $("#id_provincia").empty().attr("disabled","disabled"); $("#id_ciudad").empty().attr("disabled","disabled"); } }); $("#id_provincia").change(function(){ if($(this).val()!=""){ var dato=$(this).val(); $("#id_ciudad").show(); $("#imgciudad").show(); $.ajax({ type:"POST", dataType:"html", url:base_url+"inicio/ciudades_select", data:"id_provinciajs="+dato, success:function(msg){ $("#id_ciudad").empty().removeAttr("disabled").append(msg); $("#imgciudad").hide(); } }); }else{ $("#id_ciudad").empty().attr("disabled","disabled"); } }); });