我创建了动态相关的下拉列表,我在其中选择和选项并将请求发送到控制器以从数据库中获取数据。从数据库中获取数据后,我需要在URL中显示选定的选项名称。我无法执行此操作,无法获得相同的页面网址。
查看:
<script type="text/javascript">
$(document).ready(function(){
/* Populate data to state dropdown */
$('#country').on('change',function(){
var countryID = $(this).val();
var countryName= $('#country option:selected').html();
// alert(countryName);
if(countryID){
$.ajax({
type:'POST',
url:'<?php echo base_url('bank/getDistrict'); ?>/'+countryName,
data:'country_id='+countryID,
success:function(data){
$('#state').html('<option value="">Select District</option>');
var dataObj = jQuery.parseJSON(data);
if(dataObj){
$(dataObj).each(function(){
var option = $('<option />');
option.attr('value', this.id).text(this.district_name);
$('#state').append(option);
});
}else{
$('#state').html('<option value="">District not available</option>');
}
}
});
}else{
$('#state').html('<option value="">Select state first</option>');
$('#city').html('<option value="">Select district first</option>');
}
});
控制器:
public function getDistrict(){
$states = array();
$country_id = $this->input->post('country_id');
if($country_id){
$con['conditions'] = array('state_id'=>$country_id);
$states = $this->Bank_model->getDistrictRows($con);
}
echo json_encode($states);
}
型号:
function getDistrictRows($params = array()){
$this->db->select('s.id, s.district_name');
$this->db->from($this->districtTbl.' as s');
//fetch data by conditions
if(array_key_exists("conditions",$params)){
foreach ($params['conditions'] as $key => $value) {
if(strpos($key,'.') !== false){
$this->db->where($key,$value);
}else{
$this->db->where('s.'.$key,$value);
}
}
}
$query = $this->db->get();
$result = ($query->num_rows() > 0)?$query->result_array():FALSE;
//return fetched data
return $result;
}
我当前的网址是:http://localhost/real_estate/bank
请求后,我仍然得到相同的URL。它没有附加所选选项的名称。 我想要这样的URL:http://localhost/real_estate/bank/delhi
如果我从选择选项中选择德里