CodeIgniter中如何用foreach($data as $buff)实现双重循环:目的地&出发地选择示例
CodeIgniter 双重循环生成目的地&出发地下拉框示例
没问题,我帮你调整并完善这段代码,确保能同时生成目的地选择下拉框和出发地选择下拉框,并正确返回给前端:
public function get_trayek() { // 获取前端传递的运输方式ID $transportation = $this->input->post('id_transportation'); // 调用模型获取线路数据 $data = $this->main_model->get_trayek($transportation); // 构建目的地下拉框HTML $data_trayek = '<option value="">----- Pilih Destination -----</option>'; foreach($data as $buff){ $data_trayek .= '<option value="'.$buff->Id_trayek.'">'.$buff->destination.'</option>'; } // 构建出发地下拉框HTML $data_trayek1 = '<option value="">----- Pilih Departure -----</option>'; foreach($data as $buff){ $data_trayek1 .= '<option value="'.$buff->Id_trayek.'">'.$buff->departure.'</option>'; } // 同时返回两个下拉框的HTML数据给前端 echo json_encode(array( 'destination_dropdown' => $data_trayek, 'departure_dropdown' => $data_trayek1 )); }
关键说明:
- 原代码只返回了目的地下拉框的数据,我调整了
json_encode的参数,把两个下拉框的HTML都打包返回,这样前端可以分别拿到目的地和出发地的下拉框代码 - 两次
foreach循环分别遍历线路数据,生成对应下拉框的选项,确保目的地和出发地的选项都能正确渲染 - 如果你觉得字符串拼接麻烦,也可以用CodeIgniter的视图引擎来渲染下拉框,不过当前这种方式对于简单场景足够高效
内容的提问来源于stack exchange,提问作者Fariz Hamdan
相关产品推荐
相关产品推荐

