controller car.php <?php class car extends ci_controller { public function __construct() { parent::__construct(); $this->load->database(); $this->load->helper('url'); $this->load->helper('form'); $this->load->model('company_model'); } public function index() { //starts running query countries //dropdown $data['companydrop'] = $this->company_model->company(); //loads view query results $this->load->view('car_view', $data); } //call fill second dropdown cities public function car_model() { //set selected country id post echo $company_id = $this->input->post('company_id',true); //run query cities specified earlier $cardata['cardrop']=$this->company_model->car($company_id); print_r($cardata); $output = null; foreach ($cardata['cardrop'] $row) { //here build dropdown item line each // query result $output .= "<option value='".$row->car_model."'>".$row->car_model."</option>"; } echo $output; } } ?> model company_model <?php class company_model extends ci_model { public function __construct() { $this->load->database(); } //fill contry dropdown public function company() { $this->db->select('company_id,company_name'); $this->db->from('company'); $query = $this->db->get(); // query mean select cat_id,category //category foreach($query->result_array() $row){ $data[$row['company_id']]=$row['company_name']; } // fetching data database return return $data; } //fill cities dropdown depending on selected city public function car($company_id=string) { $this->db->select('car_id,car_model'); $this->db->from('car'); $this->db->where('company',$company_id); $query = $this->db->get(); return $query->result(); } } ?> view car_view <html> <head> <title>car dealers</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#companydrop").change(function(){ /*dropdown post */// $.ajax({ url:"<?php echo base_url();?>index.php/car/car_model", data: {id:$(this).val()}, type: "post", success:function(data){ $("#cardrop").html(data); alert(data); } }); }); }); </script> <style> body{ no-repeat; background:url(../../../video-fallback-background.jpg) } </style> </head> <body> <!--company dropdown--> <?php echo form_dropdown('companydrop',$companydrop,'','class="required" id="companydrop"'); ?> <br /> <br /> <!--car dropdown--> <select name="cardrop" id="cardrop"> <option value="">select</option> </select> <br /> </body> </html> dynamic dropdown not working first select company name working fetched database,but car model not working,it not fetched dropdown.i need fetch car company model database , after selecting company model of specified company has listed in second dropdown.i have created database in phpmyadmin , created 2 table car , company,in company copany_id , company_name in car has car_id,car_name , company_id
check sample code creating dropdown in codeigniter.
<?php $js = 'id="unicode" class="form-control"'; $unicode = array( '2' => 'no', '1' => 'yes' ); echo form_dropdown('unicode', $unicode, set_value('unicode'), $js); ?> here dropdown id unicode,class form-control.
html :
<select name="unicode" id="unicode" class="form-control"> <option value="2">no</option> <option value="1">yes</option> </select> you can values db in array , store in variable $unicode.hope helps.check ref link
for setting dropdown based on first dropdown:
$("#dropdown1").change(function () { var end = this.value; $('#dropdown2').val(end ); });
Comments
Post a Comment