使用参数

时间:2015-06-10 19:00:48

标签: php jquery ajax codeigniter codeigniter-routing

我知道AJAXCodeIgniter的调用是如何工作的。

修改建议的答案

  

我尝试redirection作为解决问题的可能方法。我不是问这个问题。我有问题通过URL传递参数并重用包含ajax post call的视图。另外,我不知道如何发布已经成为state_id表单一部分的单个值new_admission

我在city names动态加载state_id branch $(document).ready()

当我从load_city()致电admission()时,它的工作非常完美。

XHR的{​​p> load_city就像:

  

本地主机/ project_folder /控制器/ load_city

但是当我尝试edit_admission($studentId)时,它会在admission_view内递归加载<div id="city"></div>

XHR的{​​p> load_city就像:

  

本地主机/ project_folder /控制器/ edit_admission / load_city

此处load_city被视为参数,edit_admission()被递归调用。

控制器:

public function load_city()
    {
    //load cities to $data from model 
    $this->load->view('city_view', $data);
    }

public function admission()
    {
    //load init data for admission view from model 
    $this->load->view('admission_view', $data);
    }

public function edit_admission($studentId)
    {
    //load init data for admission view from model 
    $this->load->view('admission_view', $data);

    }

AJAX代码:

function get_city() {
    var parameters = {}; //instantiate the array
    parameters['state_id'] = state_id;

    $('#divcity').load('load_city', parameters, function (data) {
        $('#city').combobox();
        //code
    });

};

load_city查看:

<?php
    echo '<select class="'.'form-control chzn-select col-lg-8 required'.'" id="'.'city'.'" name="'.'city'.'">';
    echo '<option></option>';
    foreach ($init_city['city_names'] as $row)
    {
        echo '<option value="'.$row->city_id.'">' .$row->city_name.'</option>';
    }
    echo '</select>';
?>

admission_view

<div class="form-group">
    <label class="control-label col-lg-4">City</label>

    <div class="col-lg-8" id="divcity" name="divcity"></div>
</div>

我试过

public function edit_admission($studentId)
    {
    if(intval($studentId) > 0){
        //load init data for admission view from model
        $this->load->view('admission_view', $data);
    } else if($studentId == 'load_city'){
        //not passing post data to load_city()
        redirect('branch/load_city');
    }

}

以上代码未将发布数据传递给load_city()

另外,我尝试在routes.php

中添加波纹管代码
$route['edit_admission/load_city'] = 'load_city';

在这两种情况下我都没有取得任何成功。

0 个答案:

没有答案