使用迅睿做信息站时,经常会用到筛选功能。这里以地区筛选为例,如何实现单击子类同时显示父类就是点击一级菜单时,一线菜单不消失二级菜单显示出来,选中了二级菜单后三级菜单又显示出来。
先上效果图:
代码如下:
<!--按联动菜单搜索--> <!--按联动菜单搜索--> <div class="form-group row"> <label class="col-md-2 control-label">一级联动</label> <div class="col-md-10"> <?php $tp = dr_linkage('address', $params.csxz); if ($tp.pid) { $tp = dr_linkage('address', $tp.pid); } $tpid = $tp.id; $pids = explode(',', $tp.childids); ?> <label><a class="label {if !$params.csxz}label-success{else}label-default{/if}" href="{Router::search_url($params, 'csxz', NULL)}">不限</a></label> <!--调用联动菜单address,pid为动态获取的地区id--> {linkage code=address pid=0} <label><a class="label {if in_array($t.ii, $pids)}label-success{else}label-default{/if}" href="{Router::search_url($params, 'csxz', $t.id)}">{$t.name}</a></label> {/linkage} </div> </div> {if $tp.child} <div class="form-group row"> <label class="col-md-2 control-label">二级联动</label> <div class="col-md-10"> <label><a class="label {if $tpid == dr_linkage('address', $params.csxz, 0, 'id')}label-success{else}label-default{/if}" href="{Router::search_url($params, 'csxz', $tpid)}">不限</a></label> <!--调用联动菜单address,pid为动态获取的地区id--> {linkage code=address pid=$tpid} <label><a class="label {if $t.id==$params.csxz}label-success{else}label-default{/if}" href="{Router::search_url($params, 'csxz', $t.id)}">{$t.name}</a></label> {/linkage} </div> </div> {/if}
注明:
cscz是字段名称
address是联动菜单名称
可以随意改
如果只想让省级出现筛选,其他不出现,代码如下:
<div class="form-group row"> <label class="col-md-2 control-label">联动菜单字段中文</label> <div class="col-md-9"> <?php $tp = dr_linkage('address', $params.nativeplace); if ($tp.pid) { $tp = dr_linkage('address', $tp.pid); } $tpid = $tp.id; $pids = explode(',', $tp.childids); ?> <label><a class="label {if !$params.nativeplace || dr_linkage('address', $params.nativeplace, 0, 'child')}label-success{else}label-default{/if}" href="{Router::search_url($params, 'nativeplace', NULL)}">不限</a></label> <!--调用address,pid为动态获取的地区id--> {linkage code=address pid=0} <label><a class="label {if $t.id==$params.nativeplace}label-success{else}label-default{/if}" href="{Router::search_url($params, 'nativeplace', $t.id)}">{$t.name}</a></label> {/linkage} </div> </div>
如果想实现其他筛选,可参考这篇文档。