已经我的控制器索引方法加载了一个参数,其中有两个下拉字段,当我选择第一个然后我用jquery ajax获取第二个的数据然后当我选择第二个然后我需要传递另一个数组list_ByBatch方法。
我的控制器是:
public function index() {
$data['round'] = $this -> AttendanceModel -> get_round();
$this->load->view('common/header');
$this->load->view('common/menu');
$this->load->view('attendance/attendance', $data);
$this->load->view('common/footer');
}
public function list_ByBatch(){
$batch=$this->input->post('batchid',TRUE);
$list['trainee']=$this->AttendanceModel->get_traineeList($batch);
if(!empty($list['trainee'])){
return $list['trainee'];
}
}
脚本:
<script type="text/javascript">
$(document).ready(function() {
$("#round").change(function(){
/*dropdown post */
$.ajax({
url:"<?php echo base_url(); ?>index.php/attendance/batch_ByRound",
data: {round: $(this).val()},
type: "POST",
success: function(data){
$("#batch-list").html(data);
}
});
});
$("#batch-list").change(function(){
/*dropdown post */
$.ajax({
url:"<?php echo base_url(); ?>index.php/attendance/list_ByBatch",
data: {batchid: $(this).val()},
type: "POST",
success: function(data){
$("#traineeList").html(data);
$("#subTotal").html("Total: " + $('#traineeList tr').length.toString());
document.getElementById("classHour").defaultValue = "4";
}
});
});
});
</script>
如何将'list_ByBatch'中的数组传递给查看#batch-list更改函数执行时已加载的页面。
答案 0 :(得分:2)
您应该使用echo
和json_encode
:
public function list_ByBatch(){
$batch=$this->input->post('batchid',TRUE);
$list['trainee']=$this->AttendanceModel->get_traineeList($batch);
if(!empty($list['trainee'])){
echo json_encode($list['trainee']);
}
}