我在WAMP上使用CodeIgniter v3.1.3。在我的一个视图(our_districts.php)中,我有一个包含地区名称的下拉列表:
<select class="form-control" id="ddlDist" name="ddlDist" onchange="popDistrictData();">
<option value="0">--Select--</option>
<option value="3">District A</option>
<option value="4">District B</option>
<option value="5">District C</option>
<option value="6">District D</option>
</select>
<div id="districtData"></div>
<script type="text/javascript">
function popDistrictData(){
var dist_id = document.getElementById("ddlDist").value;
$.ajax({
type: "POST",
url: "<?=site_url()?>section/ajax_call_pop_district_data/"+dist_id,
dataType: "html",
success: function(html){
$("#districtData").html(html);
}
});
}
</script>
class Section extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->output->set_header('Content-Type:text/html; charset=UTF-8');
$this->load->helper("url");
$this->load->model("District_model");
}
public function view()
{
$data['section_name']='Districts';
$this->load->view('templates/site_header',$data);
$data["district_data"] = $this->District_model->pop_districts_in_combobox();
$this->load->view('our_districts',$data);
$this->load->view('templates/site_footer',$data);
}
public function ajax_call_pop_district_data()
{
if ($this->input->post('distId') !="") {
$did = $_POST['distId'];
$dist_data = $this->District_model->pop_district_data($did);
//what should i write here???.........
}
}
}
正如您所看到的,上面的下拉列表已由[{1}} 'pop_districts_in_combobox()'
方法填充。在其'District_model'
事件中,
我想使用Ajax填充id = districtData的div,如上所示。我的问题是如何填充'onchange'
。请帮助解决一些代码。提前谢谢。
答案 0 :(得分:1)
您正在进行ajax调用,因此ajax应该返回将处理jQuery $ .ajax函数的代码。
在您的jQuery成功功能代码中,您正在做一个简单的TextView
所以在控制器函数ajax_call_pop_district_data中你应该做一个简单 $("#districtData").html(html);
,它应该有模型函数echo $dist_data
生成的html代码。