0

したがって、従業員コードを取得するビューファイルにテキストフィールドがあり、jquery はコントローラーの関数を呼び出して従業員の詳細を表示し、同じビューページのいくつかのフィールドにすぐに入力します。しかし、私は在庫があり、実際には何も起こっていません。コードを見て、それを手伝ってください。ありがとうございました!

jquery:

$('#employee_code').change(function(){  
    var em_code = $('#employee_code').val();
    if (em_code != ""){
        var post_url = "<?php echo base_url();?>index.php/it_inventory/get_employee_details/" + em_code;
        $.ajax({
            type: "POST",
            url: post_url,
            success: function(name,position,department) 
            {
                $('#employee_name').val(name);
                $('#employee_position').val(position);
                $('#employee_department').val(department);
            }
        }); 
    }          
});

CI コントローラー:

function get_employee_details($em_code="") {
        header('Content-Type: application/x-json; charset=utf-8');
        echo(json_encode($this->it_inventory_model->get_employee_details($em_code)));
    }

CI モデル

function get_employee_details($em_code){
        $q = "select name,position,department from employees where code=?";
        $query_em_detail=$this->db->query($q,$em_code);

        $outputs = array();

        if($query_em_detail->result()){
            foreach ($query_em_detail->result() as $output) {
                $outputs['name'] = $output->name;
                $outputs['position'] = $output->position;
                $outputs['department'] = $output->department_code;
            }
            return $outputs;
        } else {
            return FALSE;
        }
    }
4

2 に答える 2

1

dataType次のように、ajax リクエストに追加する必要があります。

$.ajax({
   type: "POST",
   url: post_url,
   dataType: "json",
   success: function(data) {
      console.log(data); //response from your controller
      console.log( data.name); //to get name
   },
   error: function() { alert("Something went wrong!"); }
});

およびコントローラー:

function get_employee_details($em_code="") {
  header('Content-Type: application/json',true);
  echo(json_encode($this->it_inventory_model->get_employee_details($em_code)));
}
于 2013-02-24T06:54:06.157 に答える
0

success: function(name,position,department)あるべきだと思いますsuccess: function(result)result.name次に、result.positionなどを使用する必要があります

success: function(result) {
    $('#employee_name').val(result.name);
    $('#employee_position').val(result.position);
    $('#employee_department').val(result.department);
}
于 2013-02-24T06:53:59.607 に答える