【问题标题】:Ajax to get multiple value in codeigniterAjax 在 codeigniter 中获取多个值
【发布时间】:2020-02-23 13:09:52
【问题描述】:

在输入字段中显示 ajax 响应,但它不起作用

HTML 代码:

<html>
<select name="class_id" class="form-control" data-validate="required" id="class_id" 
data-message-required="<?php echo get_phrase('value_required');?>" 
onchange="return et_student_fees(this.value)">                 
<div class="form-group">
<input id="admission" value=""  type="text" class="form-control" name="admission-fee" >                     
<input id="tuition" type="text" class="form-control" name="tuition-fee" value="">                       
<input id="exam" type="text" class="form-control" name="exam-fee" value=""></div>
</html>

JS:

<script type="text/JavaScript">

function get_student_fees(class_id)
{

    $.ajax({
        url: '<?php echo base_url();?>index.php?admin/get_student_fees/' + class_id ,
        success: function(response)
        {                           
                var len = response.length;

            if(len > 0){
            // Read values
            $('#admission').val(response.admissionfee);
            $('#tution').text(response.tutionfee);
            $('#exam').text(response.examfee);

            }else{
            $('#admission').text('');
            $('#tution').text('');
            $('#exam').text('');
            }
        }
    });

}

控制器:

function get_student_fees($class_id)
{
    $fees = $this->db->get_where('fees' , array('class_id' => $class_id
    ))->result_array();

    foreach ($fees as $row) {
    $response = array();
    $data['admissionfee'] = $row['admissionfee'];
    $data['tutionfee'] = $row['tutionfee'];
    $data['examfee'] = $row['examfee'];
    array_push($response , $data);
    }
   echo json_encode($response);

   }

使用 ajax 从控制器获取值,谁能帮我返回 Multiples 值并将这些值显示到文本字段中

【问题讨论】:

  • 您的输入 ID 是 tuition,而您在 ajax 代码中拼错了它,即:#tution,请相应地更改它。另外,请检查 response 中的内容。
  • 改变了这一点,response.admissionfee 未定义,但 response 具有所有值
  • 此时请检查您的回调函数名称onchange="return et_student_fees(this.value),因为您的函数名称是get_student_fees(),但您将其称为et_student_fees()
  • 已更正,但问题依旧。

标签: javascript php jquery codeigniter


【解决方案1】:

希望对你有帮助

function get_student_fees(class_id){
    $.ajax({
    url: '<?php echo base_url();?>index.php?admin/get_student_fees/' + class_id ,
    success: function(response){
    var len = response.length;
        if(len > 0){
        // Read values
        var obj= jQuery.parseJSON(response);
        $('#admission').val(obj.admissionfee);
        $('#tution').text(obj.tutionfee);
        $('#exam').text(obj.examfee);
        }else{
        $('#admission').text('');
        $('#tution').text('');
        $('#exam').text('');
        }
     }
   });

【讨论】:

  • 欣赏这一点,但这种技术并没有解决问题。请提出更多建议。
猜你喜欢
  • 2017-06-25
  • 2013-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-28
  • 2012-10-13
  • 2018-08-17
  • 1970-01-01
相关资源
最近更新 更多