比如下图这种情况:
这里出现的问题是:
我以上四个条件都是用a标签刷新形式写的。
默认今日申请。我搜索未处理申请条件中的结果时,url会指向默认的今日申请,导致搜索错误。
我的同事写了一个方法。如下:
//这里是整个导航条的代码
<div class="L_tableTop clearfix" style="background:#29333f; padding:16px 16px 16px 0; border-radius:8px;">
<div class="btnbox">
<a <?php if($color == 2 || $color == 1){ echo 'class="active"'; } ?> href="{:U('Cash/c_index',array('order'=>'dayOne'))}">今日申请</a>
<a <?php if($color == 3){ echo 'class="active"'; } ?> href="{:U('Cash/c_index',array('order'=>'dayTwo'))}">近7日申请</a>
<a <?php if($color == 4){ echo 'class="active"'; } ?> href="{:U('Cash/c_index',array('order'=>'dayThree'))}">未处理申请</a>
<a <?php if($color == 5){ echo 'class="active"'; } ?> href="{:U('Cash/c_index',array('order'=>'dayFour'))}">异常申请</a>
</div>
<div class="L_search">
<input class="L_searchIpt" type="search" name="search" id="search" placeholder="<?php if($search){ echo $search; }else{ echo '请输入关键字';} ?>" />
<span class="L_searchSbt">
<input class="Licon" type="button" onclick = "changeTiend('{$url}')" />
</span>
</div>
</div>
引用js
<script>
/*搜索 start ------------------------*/
function changeTiend(basePath){
var search =$("#search").val();
window.location.href = basePath+"/search/"+search+".html";
}
/*搜索 end ------------------------*/
</script>
controller后来处理
public function index(){
$search = trim($_REQUEST['search']);
$orderType = $_REQUEST['order'];
//最主要是这段代码
$uri = $_SERVER['REQUEST_URI'];
$uri = explode('.html',$uri);
$uri = explode('/search',$uri[0]);
$this->assign('url',$uri[0]);
}
其实我后来看懂了,就是取$_SERVER里面的路径,然后分割拼接一下了。
构造一下路径,这样就不会有错了。如图。