[英]Codeigniter autosearch using ajax
當我回聲時,ajax調用未轉到控制器
=========== Ajax自動完成搜索========================
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(function(){
$(".search").keyup(function()
{
var searchid = $(this).val();
//var dataString = 'search='+ searchid;
if(searchid!='')
{
$.ajax({
type: "POST",
url: "<?php echo base_url()."/search/search"?>",
data: {searchid:searchid}
cache: false,
success: function(html)
{
alert(html);
$("#result ").html(html).show();
}
});
}return false;
});
$("#result ").live("click",function(e){
var $clicked = $(e.target);
var $name = $clicked.find('.name').html();
var decoded = $("<div/>").html($name).text();
$('#searchid').val(decoded);
});
$(document).live("click", function(e) {
var $clicked = $(e.target);
if (! $clicked.hasClass("search")){
$("#result").fadeOut();
}
});
$('#searchid').click(function(){
$("#result").fadeIn();
});
});
</script>
=============================控制器==================== =====
public function search()
{
//$q = mysql_real_escape_string($_POST['search']);
//echo"helloooo".$q;
//die();
$searchid=$this->input->post('searchid');
echo "aaaaaaa".$searchid;
die();
//echo "name".$name;
//die();
$data=$this->search_model->autocomplete($q);
// print_r($data);
}
}
=============================型號==================== =============
public function autocomplete($q)
{
$this->db->select('uid', 'name');
$this->db->from('tbl_reg');
// $this->db->where('suppress', 0);
$this->db->like('name', $q,'both' );
$this->db->order_by("name", "asc");
$query = $this->db->get();
//echo "query".$query;
//die();
// $query=$this->db->query("select * from tbl_reg where name='$name' ");
/**
$whereCondition = array('name' =>$search);
$this->db->where($whereCondition);
$this->db->from('tbl_reg');
$query = $this->db->get();
return $query->result();
**/
if($query->num_rows()>0)
{
foreach($query->result() as $row)
{
$data[] = $row;
}
//echo "query".$query;
//die();
// foreach($query->result_array() as $row){
// $data[] = $row;
// }
//return $data;
return $query;
}
}
}
希望這可以幫助。
視圖
<link rel="stylesheet"href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/minified/jquery-ui.min.css" type="text/css" />
//Also include this script file
//http://code.jquery.com/ui/1.10.1/jquery-ui.min.js
$(function () {
//autocomplete
$(".auto").autocomplete({
source: "<?php echo base_url(); ?>search/auto_search",
minLength: 1
});
});
<input name="" id="" type="text" class="auto"/>
=============控制器============
public function auto_search() {
if (isset($_GET['term'])) {
$data = $this->Search_model->autocomplete(urldecode($_GET['term']));
$json_array = array();
foreach ($data as $row)
array_push($json_array, $row->name);
echo json_encode($json_array);
}
}
===================型號==================
public function autocomplete($like) {
$this->db->select('name');
$this->db->from('tbl_reg');
// $this->db->where('suppress', 0);
$this->db->like('name', $like );
$this->db->order_by("name", "asc");
$q = $this->db->get();
if ($q->num_rows() > 0) {
return $q->result();
}
}
希望您正在尋找這個,讓我們知道結果。
您使用名稱search
創建了一個控制器,即您的類名稱為Search
並使用名稱search
調用了一個函數。 如果您使用類名創建了任何函數,它將是您的構造函數。 因此建議您將方法名稱search
更改為其他名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.