$this->input->post('menu_id')
Chciałem stworzyć dwa selecty zależne od siebie , cos jak tu:
i prawie mi się to udało, została mi kwestia wywoałania:
$data['pages_list'] = $this->model_pages->showParentPages($this->input->post(menu_id'));
i tu jest pytanie bo nie moge przed wyslaniem formularza miec dostepu do id z pierwszego selecta
tzn. załóżmy, że w selecie pierwszym sa 2 pozycje menu1 i menu2, jak to rozrozniac?
Gdy wywoluje skrypt z palca, tj:
$data['pages_list'] = $this->model_pages->showParentPages(1);
nie ma problemu
Proszę o jakąś rade, poniżej kod:
public function showParentPages($menu_id) { foreach (scandir(APPPATH . 'controllers\\frontend\\pages\\') as $file) { if ($file != '.' && $file != '..') { //var_dump($name[0]); $this->db->select('id,slug'); $this->db->from('pages'); $this->db->where('name', $name[0]); $this->db->where('active', 1); $this->db->where('group_id', $menu_id); $query = $this->db->get(); if ($query->num_rows() > 0) { foreach ($query->result_array() as $row) { } } } } return $data; }
}
public function test(){ $data['pages_list'] = $this->model_pages->showParentPages($this->input->post(menu_id')); //var_dump($data['pages_list']); exit(); if(count($data['pages_list'])){ $pro_select_box = ''; $pro_select_box .= '<option value="0" >No parent</option>'; foreach ($data['pages_list'] as $p){ $pro_select_box .='<option value="'.$p['id'].'" >'.$p['slug'].'</option>'; } echo json_encode($pro_select_box);
}
<script> $(document).ready(function () { $('#GrouspMenuPage').on('change',function(){ var menu_id = $(this).val(); if(menu_id =='') { $('#ParentPage').prop( "disabled", true ); } else { $.ajax({ type:"POST", data:{'menu_id':menu_id}, dataType: 'json', success:function (data) { //alert('ok'); $('#ParentPage').html(data); console.log(data); }, error:function(){ alert('error...'); } }); } }); }); </script>
<div class="form-group"> <label for="GroupMenuPage">Gdzie wyświetlać</label> <select name="group_id" class="form-control" id="GrouspMenuPage" > <option value="0">No visible</option> <?php if($menu_list): ?> <?php foreach ($menu_list as $item) : ?> <?php endforeach; ?> <?php endif; ?> </select> </div> <div class="form-group"> <label for="ParentPage">Parent</label> <select name="parent" class="form-control" id="ParentPage"> <option value="0">No parent</option> </select> </div>