Hi,
I'l explain using Country, cities example.
Non Ajax Solution:
On change event of dropdown, you could refresh page with adding parameter of selected value from dropdown.
<select name="country_id">
<option value="IN">India</option>
<option value="US">United States</option>
<option value="NA">Others</option>
</select>
In controller/method you have to read that get parameter using:
$country_id=$this->input->get("country_id");
$cities=$this->m_cities->getCities($country_id);
$this->view("v_name",array("cities"=>$cities);
jQuery Ajax Solution:
You could POST country_id to some ajax controller (I always create separate controller to handle ajax request), and read response and populate options of another dropdown.
<script>
$(document).readu(function(){
$("[name=country_id]").change(function(){
var country_id=$(this).val();
function(resp){
$("[name=city] option").remove();
$.each(resp.cities,function(city){
$("[name=city]").append("<option value='"+city.city_id"'>"+city.city_name+"</option>");
});
});
});
});
</script>
{ "cities" : [ { "city_id" : "ST", "city_name": "Surat"}, { "city_id" : "BLR", "city_name": "Bangalore"} ] }