![](/img/trans.png)
[英]How to Use PHP text-box value in PHP variable, without page reload and without using JavaScript (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.