我收到了一些關於從服務器接收值的問題,並在輸入中顯示值。如何通過jQuery + Codeigniter獲取價值並在輸入字段中顯示?
有時,如果我想在頁面中顯示值,我將使用POST方法,然後在控制器和模型中設置input'ID,並在要顯示的頁面中使用foreach()
,因此工作已完成。
但是,如果我想在輸入字段中顯示值,我需要爲它做些什麼?
我爲此寫了一些代碼,並嘗試使用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>
模型: 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日重新編輯
親愛的蘇爾曼:
我試着寫阿賈克斯()的一些代碼,但我仍然有問題,其它部分是一樣的,但控制器必須是變化:
控制器: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;
}
}
型號: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沒有定義」,你能告訴我怎麼編輯它?
$("#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」文件中打印數據,並在你的問題中追加輸出嗎? – Suleman
您的模型數據是否在「查看」中可用? – Suleman