vue实现筛选功能
2017-04-24 17:31
417 查看
html
<div class="pop_select" v-show="popup" v-cloak>
<p></p>
<div class="house top">
<span class="blue">已选:</span>
<ul class="choosed">
<li v-for="t in typeList" v-show="typeid==t.type_id">{{t.type_name}} <span class="dele" @click="deleType">X</span></li>
<li v-for="a in areaList" v-show="areaid==a.area_id">{{a.area_name}} <span class="dele" @click="deleArea">X</span></li>
<li v-for="s in designStyleList" v-show="styleid==s.design_style_id">{{s.design_style_name}} <span class="dele" @click="deleStyle">X</span></li>
<li v-for="i in positionids"><span v-for="p in positionList" v-show="i==p.position_id">{{p.position_name}}</span><span class="dele" @click="delePosition(i)">X</span></li>
</ul>
</div>
<div class="house" style="padding-top:10px;">
<span>户型:</span>
<ul>
<li :class="typeid==t.type_id?'blue':''" @click="getType(t)" v-for="t in typeList">{{t.type_name}}</li>
</ul>
</div>
<div class="area" style="padding-top:10px;">
<span>面积:</span>
<ul class="big">
<li v-for="a in areaList"><a @click="getArea(a)" :class="areaid==a.area_id?'blue':''">{{a.area_name}}</a></li>
</ul>
</div>
<div class="style" style="padding-top:10px;">
<span>风格:</span>
<ul class="wid">
<li v-for="s in designStyleList"><a @click="getStyle(s)" :class="styleid==s.design_style_id?'blue':''">{{s.design_style_name}}</a></li>
</ul>
</div>
<div class="site top"style="padding-top:10px;">
<span>位置:</span>
<ul>
<li v-for="p in positionList"><a @click="getPosition(p)" :class="positionids[0]==p.position_id || positionids[1]==p.position_id || positionids[2]==p.position_id || positionids[3]==p.position_id || positionids[4]==p.position_id
|| positionids[5]==p.position_id || positionids[6]==p.position_id || positionids[7]==p.position_id || positionids[8]==p.position_id?'blue':''">{{p.position_name}}</a></li>
</ul>
</div>
<div class="affirm">
<ul>
<li class="lit" @click="changeClo(0)">取消</li>
<li class="lit" @click="changeClo(1)">完成</li>
</ul>
</div>
</div>
获取所选内容
getType:function(t){
vm_case.typeid=t.type_id;
},
deleType:function(){
vm_case.typeid="";
},
getArea:function(a){
vm_case.areaid=a.area_id;
},
deleArea:function(){
vm_case.areaid="";
},
getStyle:function(s){
vm_case.styleid=s.design_style_id;
},
deleStyle:function(){
vm_case.styleid="";
},
getPosition:function(p){
vm_case.positionids.push(p.position_id);
},
delePosition:function(i){
for(var j=0; j<vm_case.positionids.length; j++) {
if(vm_case.positionids[j] == i) {
vm_case.positionids.splice(j, 1);
}
}
},
fliter:function(){
$.ajax({
4000
url:"../houseCase/filtrate.do",
data:{type_id:vm_case.typeid,area_id:vm_case.areaid,design_style_id:vm_case.styleid,position_ids:vm_case.positionids,start_page:0,count_page:6},
type:'post',
success:function(data){
console.log(data);
if(data.status=="SUCCESS"){
vm_case.pageshow=1;
vm_case.caseList=data.data.dataArray;
if(data.data.rows<=6){
vm_case.pageshow=0;
}
}else{
vm_case.pageshow=0;
vm_case.msg="很抱歉,暂无案例!";
vm_case.caseList="";
}
}
});
},
changeClo:function($index){
if($index==1){
vm_case.fliter();
vm_case.popup=false;
}else{
window.location.reload();//取消时:清空筛选内容
}
},
<div class="pop_select" v-show="popup" v-cloak>
<p></p>
<div class="house top">
<span class="blue">已选:</span>
<ul class="choosed">
<li v-for="t in typeList" v-show="typeid==t.type_id">{{t.type_name}} <span class="dele" @click="deleType">X</span></li>
<li v-for="a in areaList" v-show="areaid==a.area_id">{{a.area_name}} <span class="dele" @click="deleArea">X</span></li>
<li v-for="s in designStyleList" v-show="styleid==s.design_style_id">{{s.design_style_name}} <span class="dele" @click="deleStyle">X</span></li>
<li v-for="i in positionids"><span v-for="p in positionList" v-show="i==p.position_id">{{p.position_name}}</span><span class="dele" @click="delePosition(i)">X</span></li>
</ul>
</div>
<div class="house" style="padding-top:10px;">
<span>户型:</span>
<ul>
<li :class="typeid==t.type_id?'blue':''" @click="getType(t)" v-for="t in typeList">{{t.type_name}}</li>
</ul>
</div>
<div class="area" style="padding-top:10px;">
<span>面积:</span>
<ul class="big">
<li v-for="a in areaList"><a @click="getArea(a)" :class="areaid==a.area_id?'blue':''">{{a.area_name}}</a></li>
</ul>
</div>
<div class="style" style="padding-top:10px;">
<span>风格:</span>
<ul class="wid">
<li v-for="s in designStyleList"><a @click="getStyle(s)" :class="styleid==s.design_style_id?'blue':''">{{s.design_style_name}}</a></li>
</ul>
</div>
<div class="site top"style="padding-top:10px;">
<span>位置:</span>
<ul>
<li v-for="p in positionList"><a @click="getPosition(p)" :class="positionids[0]==p.position_id || positionids[1]==p.position_id || positionids[2]==p.position_id || positionids[3]==p.position_id || positionids[4]==p.position_id
|| positionids[5]==p.position_id || positionids[6]==p.position_id || positionids[7]==p.position_id || positionids[8]==p.position_id?'blue':''">{{p.position_name}}</a></li>
</ul>
</div>
<div class="affirm">
<ul>
<li class="lit" @click="changeClo(0)">取消</li>
<li class="lit" @click="changeClo(1)">完成</li>
</ul>
</div>
</div>
获取所选内容
getType:function(t){
vm_case.typeid=t.type_id;
},
deleType:function(){
vm_case.typeid="";
},
getArea:function(a){
vm_case.areaid=a.area_id;
},
deleArea:function(){
vm_case.areaid="";
},
getStyle:function(s){
vm_case.styleid=s.design_style_id;
},
deleStyle:function(){
vm_case.styleid="";
},
getPosition:function(p){
vm_case.positionids.push(p.position_id);
},
delePosition:function(i){
for(var j=0; j<vm_case.positionids.length; j++) {
if(vm_case.positionids[j] == i) {
vm_case.positionids.splice(j, 1);
}
}
},
fliter:function(){
$.ajax({
4000
url:"../houseCase/filtrate.do",
data:{type_id:vm_case.typeid,area_id:vm_case.areaid,design_style_id:vm_case.styleid,position_ids:vm_case.positionids,start_page:0,count_page:6},
type:'post',
success:function(data){
console.log(data);
if(data.status=="SUCCESS"){
vm_case.pageshow=1;
vm_case.caseList=data.data.dataArray;
if(data.data.rows<=6){
vm_case.pageshow=0;
}
}else{
vm_case.pageshow=0;
vm_case.msg="很抱歉,暂无案例!";
vm_case.caseList="";
}
}
});
},
changeClo:function($index){
if($index==1){
vm_case.fliter();
vm_case.popup=false;
}else{
window.location.reload();//取消时:清空筛选内容
}
},
相关文章推荐
- Vue.js实现多条件筛选、搜索、排序及分页的表格功能
- Vue.js实现多条件筛选、搜索、排序及分页的表格功能
- Vue.js实践:实现多条件筛选、搜索、排序及分页的表格功能
- Vue.js实现多条件筛选、搜索、排序及分页的表格功能
- 使用vue-router beforEach实现判断用户登录跳转路由筛选功能
- vue实现添加删除,筛选,还有自定义全局过滤器的功能
- 类似于京东商城等的商品分类搜索筛选功能实现
- popupWindow焦点问题以及实现根据输入内容筛选列表功能
- 在DataGridView控件上实现列标头象Excel带数据筛选功能
- EXTJS4 Grid Filter 插件的使用 与后台数据解析------Extjs 查询筛选功能的实现
- VBA实战技巧精粹001:关于高级筛选功能的学习及VBA实现
- J版OpenStack text框回车(enter)实现table Filter功能(替代筛选button功能)
- Ecshop的商品筛选功能实现分析之一(主要对category.php进行分析)
- 类似京东的商品筛选功能的实现,电子商城的产品筛选功能是怎么实现的?
- MVVM范例:实现 用户列表绑定、编辑 、删除、添加及筛选功能
- 用Vue实现排序功能
- PHPCMS 利用联动菜单实现分类筛选功能
- 织梦DEDE多选项筛选_联动筛选功能的实现_二次开发
- Sizzle一步步实现所有功能(基本筛选)
- dataGridView绑定泛型的筛选功能实现