繁体   English   中英

如何将值放在使用CodeIgniter中的AJAX从数据库中获取的文本框中?

[英]How to put values in a text-box which is fetched from database using AJAX in CodeIgniter?

在这里,我试图通过AJAX从数据库中获取数据到textbox 我已通过AJAX从数据库中成功检索了数据,但发现将这些值放入所需的textbox很困难

查看部分:

<div class="form-group">
    <label class="col-sm-4 control-label">Types</label>
    <div class="col-sm-5">
        <select class="form-control" id="ctype" name="ctype" onchange="displaydata(this.value)" required>
            <option value=""> -- Select -- </option>
            <option value="A">A</option>
            <option value="B">B</option>

        </select>
    </div>
</div>

我需要显示的文本框(我没有通过AJAX调用此HTML部分)

<tr>
    <td>Full Day </td> 
    <td><input class="form-control" type="text" id="ch1" name="ch1"></td>
</tr>
<tr>
    <td>Excess</td>
    <td><input class="form-control" type="text" id="ch2" name="ch2" ></td>
</tr>

AJAX部分:

function displaydata() {
var codata=$("#ctype").val();
$.post("<?php echo $this->config->item("index_url")."VM/CDetails";?>",{'cdata':cdata},function(data, status){
    $("#cdetails").html(data);      
});
}

控制器部分:

public function CDetails(){
    $cdata = $_POST["cdata"];
    $this->load->database();
    $this->load->model('general_model','gm');

    $where=array('type_of_vehicle'=>$cdata);
    $params = array ('table_name'=>'details_local','select_fields'=>'serial_num,type,fulls,excess','where_clause'=>$where);
    $this->gm->initialize($params);
    $result = $this->gm->selectEntryByLogic();

    print_r($result);
 }

我可以看到通过给print_r($result)来获取值,如上所示。 正如我在代码中提到的,如何将值放入两个单独的textbox

print_r($result) VALUE

Array ( [0] => Array ( [serial_num] => 1 [type] => A [fulls] => 36 [excess] => 600  ) )

echo json_encode($result); $result = $this->gm->selectEntryByLogic(); 在您的CDetails()功能中。

像下面这样:

public function CDetails(){
    $cdata = $_POST["cdata"];
    $this->load->database();
    $this->load->model('general_model','gm');

    $where=array('type_of_vehicle'=>$cdata);
    $params = array ('table_name'=>'details_local','select_fields'=>'serial_num,type,fulls,excess','where_clause'=>$where);
    $this->gm->initialize($params);
    $result = $this->gm->selectEntryByLogic();

    echo json_encode($result);
 }

在您的ajax displaydata()添加下面的代码

$("#ch1").val(data[0]['fulls']);
$("#ch2").val(data[0]['excess']);

像下面这样,并更改您的jquery变量名称var codata=$("#ctype").val(); var cdata=$("#ctype").val();

function displaydata() {
    var cdata=$("#ctype").val();
    $.post("<?php echo $this->config->item("index_url")."VM/CDetails";?>",{'cdata':cdata},function(data, status){
        $("#ch1").val(data[0]['fulls']);
        $("#ch2").val(data[0]['excess']);      
    });
}

或替换您的AJAX请求的系统,例如以下:

var cdata=$("#ctype").val();
$.ajax({
    context: this,
    url: <?php echo $this->config->item("index_url")."VM/CDetails";?>,
    type: 'POST',
    dataType: 'json',
    data: {cdata:cdata}
}).done(function (response) {
    $("#ch1").val(response[0]['fulls']);
    $("#ch2").val(response[0]['excess']);
}).fail(function (data) {
        console.log('failed');
}); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM