如何通过 jQuery+Codeigniter 获取值并显示在输入字段中?
Posted
技术标签:
【中文标题】如何通过 jQuery+Codeigniter 获取值并显示在输入字段中?【英文标题】:how to get value by jQuery+Codeigniter and show in input field? 【发布时间】:2013-12-09 17:07:26 【问题描述】:我遇到了一些关于从服务器接收值的问题,并在输入中显示该值。
有时候,如果我想在页面中显示值,我会使用POST方法,然后在控制器和模型中设置输入'ID,并在要显示的页面中使用foreach()
,这样就完成了.
但是,如果我想在 input'field 中显示值,我需要怎么做呢?
我为此写了一些代码并尝试使用AJAX接收并在输入中显示,它不起作用,请大家帮我解决这个问题......Σ( ̄□ ̄;)
我尝试为它创建一个新模型和一个新页面,有一个很简单的表格,代码如下:
查看:kungfu.php
<div style="width:250px;float:left;">
<form id="pr_form" action="<?php echo site_url();?>/static_data/kungfu_act" method="post">
NUM:<input id="num" name="num" type="text" class="field_set"><br>
NAME:<input id="name" name="name" type="text" class="field_set"><br>
LOCAL:<input id="local" name="local" type="text" class="field_set"><br>
KUNGFU:<input id="kungfu" name="kungfu" type="text" class="field_set"><br>
</div>
<div style="float:left;">
<span id="loading" style="display:none">Loading!!</span><br>
<span id="complete" style="display:none">Complete!!</span>
</div>
<div style="clear:both;height:50px;padding-top:10px">
<input id="query" name="query" class="btn" type="button" value="QUERY">
</div>
</form>
</div>
model:pr_model.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Pr_model extends CI_Model
function __construct()
parent::__construct();
$this->load->helper('form');
$this->load->helper('html');
$this->load->database();
function pr_query()
$query=$this->db->get("kungfu_table");
return $query->result();
控制器:static_data.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Static_data extends CI_Controller
public function kungfu()
$this->load->view('kungfu');
public function kungfu_query()
$this->load->model("pr_model");
$data = array(
"kungfu" =>$this->pr_model->pr_query()
);
echo json_encode($data);
如果我想在普通页面中显示值,我会使用foreach()
,但我不知道如何在输入中显示,我尝试使用getjson()
,但没有工作。有人可以教我吗?
//2013/11/30 重新编辑
亲爱的苏尔曼:
我尝试写一些关于 .ajax() 的代码,但我仍然遇到问题,其他部分是相同的,但控制器已经改变:
控制器:static_data.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Static_data extends CI_Controller
public function kungfu()
$this->load->view('kungfu');
public function kungfu_maxquery()
$this->load->model("pr_model");
$data = $this->pr_model->pr_maxquery();
$max=json_encode($data);
echo $max;
model:pr_model.php
function pr_maxquery()
$this->db->select_max("num");
$maxquery=$this->db->get("kungfu_table");
return $maxquery->result();
我尝试编辑 .ajax()
的 js 文件,但 Chrome 控制台告诉我“未捕获的 ReferenceError: maxnum is not defined”,你能告诉我如何编辑它吗?
$("#newone").click(function()
$("#num").val(function()
max_response = $.ajax(
type:"POST",
url:"<?php echo base_url()?>/static_data/kungfu_maxquery",
cache:false,
data: "num:"+maxnum
);
max_response.done(function()
return maxnum;
);
);
);
【问题讨论】:
您会在“view:kungfu.php”文件中打印数据,并将输出附加到您的问题中吗? 您的模型数据是否在“视图”中可用? 【参考方案1】:确保您的model
数据在view
中可用,如果可用则需要更改您的inpup
字段:
NUM:<input id="num" value="<?php echo $data_for_first_input_filed; ?>" name="num" type="text" class="field_set"><br>
NAME:<input id="name" value="<?php echo $data_for_second_input_filed; ?>" name="name" type="text" class="field_set"><br>
LOCAL:<input id="local" value="<?php echo $data_for_third_input_filed; ?>" name="local" type="text" class="field_set"><br>
KUNGFU:<input id="kungfu" value="<?php echo $data_for_forth_input_filed; ?>" name="kungfu" type="text" class="field_set"><br>
如果你想通过AJAX
追加数据,那么这里是示例代码:
$("#newone").click(function()
$.ajax(
url: "<?php echo base_url()?>/static_data/kungfu_maxquery",
type: "POST",
data:
'num':maxnum
,
cache: false,
success: function(data)
console.log(data);
$("#num").val(data['filed_name_returned']);
$("#name").val(data['filed_name_returned']);
$("#local").val(data['filed_name_returned']);
$("#kungfu").val(data['filed_name_returned']);
);
);
AJAX
请求不是一个便宜的调用,我们可以在一个请求中获取所有数据,并可以在成功函数中设置可用的数据。我不知道您的表结构,这就是为什么我额外附加了一行console.log(data);
,它将在控制台中显示您返回的数据。
【讨论】:
当然......这是一个非常正确的答案,但你还能教我“如何通过 jQuery ajax() 显示这个”吗?? 在您的 ajax 成功函数中添加 console.log([返回要在输入文件中显示的数据])。并将您的打印数据附加到您的问题中。 谢谢你的回答,我重新编辑了这个问题,请帮我解决,非常感谢:) 请在您点击 ajax 请求时将结果附加到您的问题中。以上是关于如何通过 jQuery+Codeigniter 获取值并显示在输入字段中?的主要内容,如果未能解决你的问题,请参考以下文章
通过 Ajax / Jquery 问题的 Codeigniter 分页
为啥我通过 jquery ajax 和 codeigniter 得到验证错误?
使用 Codeigniter 的 Paypal 拆分付款/自适应付款。如何?
如何在 Codeigniter 中使用 JQuery 修复未定义的 url