回顾前面的screen标签:
```
{screen molds="product" orderby="orders desc" as="s"}
自定义字段名字:{$s['fieldname']}
自定义字段选项输出:
默认全部/全选:
对应链接:{$s['url']}
判断选中:{if(!isset($filters[$s['field']]))}选中全部{/if}
对应值为:0
{foreach $s['list'] as $ss}
*每个选项链接:{$ss['url']}
每个选项字段:{$s['field']}
每个选项名称:{$ss['value']}
每个选项对应的值:{$ss['key']}
判断是否已选:
{if(isset($filters[$s['field']]) && strpos(','.$filters[$s['field']].',',','.$ss['key'].',')!==false)}
这里写选中时的标识
{/if}
{/foreach}
{/screen}
```
> 前面提到过,选项链接的缺省值,都讲的是单选筛选,也就是说,一个选择字段,只能选择一个参数,不能选择多个参数。
比如:颜色colors:红色,白色,黄色,只能选择一种颜色进行筛选。
现在我就要讲解如何支持同时选择红色、白色两个选项的筛选
(官方DEMO就是多选筛选)
多选筛选关键一个地方在于,如何把多个选项同时传给后端处理,我用官方demo中的筛选链接讲解。
`http://demo.jizhicms.cn/screen-product-1-categories-1,2-brands-1-os-.html`
`screen`:标识这个链接请求的是screen筛选控制器
`product`:产品模块的标识
`1`:对应的栏目ID值
`categories-1,2-brands-1-os-`:传递的筛选参数
很容易看出上面传递的筛选参数用`-`拼接两个参数,用`,`拼接多个参数值,而空值则代表缺省
ajax请求多选筛选:
```
function get_tpl(jz_screen){
var tid = {$type['id']};
var molds = "{$type['molds']}";
//Screen/index/molds/$1/tid/$2/jz_screen/$3
//screen-molds-tid-jz_screen
var gourl = '{fun get_domain()}/screen-'+molds+'-'+tid+'-'+jz_screen+'.html';
$("#gourl").val(gourl);
$.ajax({
url:"{fun U('screen/index')}",//请求的url地址
// dataType:"json",//返回格式为json
async:true,//请求是否异步,默认为异步,这也是ajax重要特性
data:{tid:tid,molds:molds,jz_screen:jz_screen,ajax:1,ajax_tpl:1},//参数值
type:"GET",//请求方式
beforeSend:function(){
//请求前的处理
},
success:function(r){
if(r==1){
$(".products").html('暂无数据~');return false;
}
$(".products").html(r);
},
complete:function(){
//请求完成的处理
},
error:function(){
//请求出错处理
alert('网络错误');
}
})
}
```
> 用`jz_screen`作为筛选字段的拼接的参数传递,筛选控制器处理这个字段内拼接的参数及参数值
- 引言
- 条款
- 开始使用
- 模板标签
- 公共配置
- 系统配置
- 自定义配置
- 网站栏目
- 全局栏目属性
- 导航栏相关
- 当前栏目下的直系下级
- 当前栏目下的直系上级
- 栏目详情页
- 栏目列表页
- 栏目分页
- 输出三级及三级以上栏目
- 当前位置面包屑
- 获取当前栏目的顶级栏目
- 直播讲解栏目相关
- 文章详情页
- 基本内容
- 点赞
- 收藏
- 相关文章
- 输出新增字段
- 商品详情页
- 基本内容
- 输出新增字段
- 商品图集
- 点赞
- 收藏
- *点评星星
- 加入购物车
- *评论
- 相关商品
- 自定义字段
- 原样输出
- 单选字段
- 多选字段
- loop标签
- 通用说明
- loop分页
- 案例说明
- like使用
- 怎么判断loop没有数据
- limit使用
- day参数
- table缺省参数
- 单选多选相关
- 单选字段输出
- 多选字段输出
- 特殊输出
- 输出换行
- 替换字符串
- 输出被解析的HTML原句
- 截取字符串
- 内容body去除HTML
- 分割字符输出
- 人性化时间显示
- 搜索功能
- 单模块搜索
- 多模块搜索
- 搜索扩展
- 搜索结果列表页
- 会员模块
- 判断是否登录
- 判断是否评论
- 计算评论数
- 如果判断会员组是否权限
- 如何输出分组信息
- 如何输出所有用户分组
- 如何输出所有会员
- 输出某个会员发布的内容
- 查询一个用户的所有信息
- 输出我的粉丝列表
- 输出我的关注列表
- 获取粉丝数
- 获取关注数
- 判断是否关注
- 关注与取消关注链接
- 判断会员是否购买该商品
- foreach标签
- for标签
- fun标签
- php标签
- 不解析标签
- if..else..标签
- screen筛选标签
- 客户端判断
- 轮播图
- 友情链接
- 自定义图集输出
- Tags标签调用及使用说明
- 网站留言调用
- 自定义单页
- 各种统计
- 各种计数显示数
- 文章归档内容归档
- 系统架构
- 高级功能
- ajax数据交互
- ajax在栏目页的应用
- ajax在screen筛选中的应用
- screen多选筛选
- Message留言表单
- 万能表单
- 多语言支持
- 系统高级配置说明
- 网站动态链接
- 邮件发送
- 自定义路由配置
- 插件开发
- 控制器方法覆盖(cover)[简单]
- 控制器方法钩子(hook)[复杂]
- 制成后台安装插件
- 微信小程序
- 开始起步
- 小程序开发
- API访问接口数据
- 轮播图(幻灯片)
- 访问栏目列表
- 详情页查询
- 栏目详情查询
- 留言接口
- 附录
- 时间
- 富文本编辑器导航
- 伪静态配置
- 二维码生成
- 常见问题
- 静态生成HTML页面失败问题
- 为什么默认模板打开首页很慢,而打开后台却很快?
- 如何判断首页、栏目页、内容页、单页
- 视频教程
- 版本更新
- 宝塔一键部署