ell_cpu 0 Denunciar post Postado Março 28, 2012 models/categoria_model.php class Categorias_model extends CI_Model { public $tab_categorias = 'categorias'; public function __construct() { parent::__construct(); } function get_categorias() { $this->db->where('id_pai',0); return $this->db->get($this->tab_categorias)->result(); } function get_subcategorias($id_pai) { $this->db->from($this->tab_categorias); $this->db->where(array('id_pai'=>$id_pai, 'ativo'=>'Sim')); $this->db->order_by('posicao', 'asc'); return $this->db->get()->result(); } } Controllers/categoria.php function get_categoria() { $data['categorias'] = $this->categorias_model->get_categorias(); $data['textos'] = $this->textos_model->get_by_textos(array('id_texto'=>$id)); $data['subcats'] = $this->categorias_model->get_subcategorias($data['textos']->categoria_id); $this->load->view('categorias', $data); } views/categorias.php <form action="" method="POST" enctype="multipart/form-data"> <table> <tr> <th><label for="categoria"> Categoria </label></th> <td> <?php $categoria['Categorias Disponíveis'][''] = 'Selecione uma categoria'; foreach($categorias as $a){ $categoria['Categorias Disponíveis'][$a->id_cat] = $a->nome; } echo form_dropdown('categoria', $categoria, array($textos->categoria_id),"id='categoria'"); ?> </td> </tr> <tr> <th><label for="subcategoria"> Subategoria </label></th> <td> <select name='subcategoria' id='subcategoria'> <option value=''> Selecione uma subcategoria </option> <?php if (isset($subcategorias)) { echo "<optgroup label='Subcategoria'>"; foreach ($subcategorias as $key => $list) { echo "<option value='". $list['id_cat'] . "'>" . $list['nome'] . "</option>"; } echo "</optgroup>"; }else{ $subcategoria['Categorias Disponíveis'][''] = 'Selecione uma categoria'; foreach ($subcats as $key => $list) { $selected = $textos->subcategoria_id == $list->id_cat ? 'selected=selected': ''; echo "<option value='{$list->id_cat}' {$selected}>{$list->nome}</option>"; } } ?> </select> </td> </tr> </table> O javascripts (Certifique-se de ter baixado a última versão do jQuery) <script type="text/javascript"> $(document).ready(function(){ $('select#categoria').change(function(){ var categoria = $("#categoria").val(); // Pega o valor selecionado //alert(categoria); //Só para debugg da variavel $('#subcategoria').load('/get_categoria/'+categoria); //controller onde está chamando a função }); }); </script> Acho q é isso. Qualquer dúvida é só postar um comentário!!! Pode até não ser a melhor solução mas, deve servir!! Esqueci a tabela do MySQL -- -- Estrutura da tabela `categorias` -- CREATE TABLE IF NOT EXISTS `ell_categorias` ( `id_cat` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(30) DEFAULT NULL, `posicao` int(11) NOT NULL, `id_pai` int(11) DEFAULT NULL, `ativo` enum('Sim','Não') NOT NULL DEFAULT 'Sim', PRIMARY KEY (`id_cat`), FULLTEXT KEY `busca` (`nome`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Compartilhar este post Link para o post Compartilhar em outros sites