计划
我在CodeIgniter工作;点击添加按钮,弹出一个模态,用户将添加新项目(项目ID,项目描述,费率和UoM),然后按提交按钮。
我使用AJAX将数据发送到数据库而不刷新页面并且它正常工作。
问题
现在我想从数据库中检索数据并分别附加在item-ID和ITEM Desc的SELECT BOX中。我已经在CodeIgniter中编写了MODEL和CONTROLLER的代码,现在需要AJAX代码在我预先填充的选择框的末尾附加我获取的数据(在第一次加载页面时,选择框通过动态填充php)。
我希望所有的工作都没有刷新页面。
任何形式的帮助或建议?
CODEIGNITER中的模型代码
<?php
class PostModel extends CI_Model {
function getLastRecord(){
$query = "select * from sale order by itemid DESC limit 1";
$res = $this->db->query($query);
if($res->num_rows() > 0) {
return $res->result();
}
return result();
}
}
?>
控制器代码
public function index()
{
$data['last'] = $this->PostModel->getLastRecord();
$this->load->view('header');
$this->load->view('salevocher', $data);
$this->load->view('footer');
}
答案 0 :(得分:2)
您的ajax应在成功回复后填充您的选择框:
$.ajax({
url: ...,
success: function(data) {
loadMySelectbox();
}
});
function loadMySelectbox() {
$.ajax({
url: 'controller/getSelectboxData',
success: function(data) {
$.each(data, function(key, value) {
$('#mySelectbox').append($('<option>').text(value.item_desc).attr('value', value.item_id));
});
}
});
}
<强> PHP 强>
//model
function getLastRecord(){
//select only data you really need
$query = "select itemid, itemdesc from sale order by itemid DESC limit 1";
//controller
public function getSelectboxData() {
$data = $this->PostModel->getLastRecord();
$this->output->set_content_type('application/json')
->set_output(json_encode($data));
}