如何在codeigniter控制器中使用jquery?如果我使用这种方法,我必须从我的视图中删除我的其他jquery代码?

时间:2015-12-17 11:11:36

标签: jquery codeigniter

我在搜索配置文件的视图中有一个jquery代码。搜索栏将出现在每个页面上。我不想在每个页面中编写此jquery代码!所以我想在我的控制器中使用这个jquery代码,我的视图中的代码就在这里(这段代码在我的视图中很好用)

<script type="text/javascript">  
$(document).ready(function(){
$("#display1").hide();
$(".search").keyup(function(){

var searchbox1 = $(this).val();
var datastring = 'searchword='+ searchbox1;    
if(searchbox1=='')
 {

 }
 else 
{
$.ajax({
type:"post",                       

url: "http://localhost:1337/PhpProject1/search_profile_controller",
data:datastring,
success:function(html){                             
$("#display1").html(html).show();

},
error:function(e){                         
alert("error="+e);
}

})                

}    

})         
})

1 个答案:

答案 0 :(得分:1)

将此代码包含在某个.js文件中,然后将其上传到您的服务器文件夹,其路径如下:/var/www/html/application/javascripts/search.js保存在search.js内:

我修改了一些语法和逻辑:

$(document).ready(function(){
$("#display1").hide();
$(".search").keyup(function(){

    var searchbox1 = $(this).val();
    var datastring = 'searchword='+ searchbox1;

    if(searchbox1 != '')  {
        $.ajax({
            type:"post",
            url: "http://localhost:1337/PhpProject1/search_profile_controller",
            data:datastring,
            success:function(html){
                $("#display1").html(html).show();
            },
            error:function(e){
                alert("error="+e);
            }
        }); 
    }
    else
    {} //do nothing
  })
});

然后你的观点这样做:

<?php
$obj =& get_instance();
$load_searchjs = '<script src="'.APPPATH.'/javascripts/search.js" type=\"text/javascript\"></script>';
$obj->router->fetch_class() === 'name_of_home_controller' ? $load_searchjs : ''; //if we are located in some controller (path) then load search.js 
?>