我在搜索配置文件的视图中有一个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);
}
})
}
})
})
答案 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
?>