发表于: 2017-04-05 20:35:41
1 1125
完成的事情:
大概完成搜索功能中的点击选择信息
计划的事情:
连上公司搜索列表进行规划
问题:
因为考虑到“公司”和“职位”的切换,以及维护的方便,把约定的,这里需要用到的数据加载到$scope上
$scope.companyList = [
{title:'province',name:'所在地区:'},
{title:'industry',name:'所属行业:'},
{title:'financing',name:'融资规模:'}
];
$scope.companyMes = [
[{name:'北京'}],//province
con.industry,//industry
con.financing//financing
];
$scope.jobList = [
{title:'province',name:'所在地区:'},
{title:'category',name:'职位类别:'},
{title:'industry',name:'所属行业:'},
{title:'education',name:'学历要求:'},
{title:'experience',name:'工作经验:'},
{title:'compensation',name:'薪资水平:'},
{title:'updateAt',name:'发布时间:'}
];
$scope.jobMes = [
[{name:'北京'}],//province
con.categoryData,//category//compensation
con.industry,//industry
con.education,//education
con.experience,//experience
con.compensation,//compensation
[{name:'今天'},{name:'三天内'},{name:'七天内'}]//updateAt
];
在展示切换时候,给展示域进行赋值处理
$scope.professionList = $scope.companyList;
$scope.professionMes = $scope.companyMes;
然后对列表进行展示:
<div class="box-center" ng-repeat="x in professionList">
<span class="b">{{x.name}}</span>
<span ng-class="{true:'active'}[pro.searchData[x.title] === '']" class="spanlist" ng-click="listSelect(x.title,'')">不限</span>
<span ng-repeat="y in professionMes[$index]" ng-class="{true:'active'}[(pro.searchData[x.title]|fSearchData:$index)]" class="spanlist" ng-click="listSelect(x.title,$index)">{{y.name}}</span>
</div>
给每个项目添加同一个点击事件,“不限”单独处理,传递空字符串,其他传递上面的数据中绑定的title和当前的$index值,在服务中建立方法进行处理:
$scope.listSelect = function(str,num){
pro.jobSearchData[str] = myFac.indexSelect(pro.jobSearchData[str],num,true,str);
}
其中服务方法经过:
对“不限”的空字符串进行判断,返回空字符串;
num非空字符串时候,对原字符串进行拆分成数组,判断数组中是否含num的值,如果有,则删除,如果木有,则添加,对数组重新按顺序排列,再合并成字符串并返回。
由于‘发表时间’为单选,添加了特定条件的判断(str == 'updateAt')
(这回总算是体会到‘===’的必要性了,null、‘’和0,在‘==’中算是一个值~~!)
service.indexSelect = function(input,num,bool,str){
var data;
if(bool){
if(num === ''){
data = '';
}else if(str == 'updateAt'){
console.log('1');
data = num;
}else{
var aStr = input.toString().split(',');
var j=-1;
for(var i=0; i<aStr.length; i++){
j = aStr[i] === num.toString()? i:j;
}
if(j===-1){
aStr.push(num);
aStr.sort(function(a,b){return a-b;});
}else{
aStr.splice(j,1);
}
if(aStr[0] === ''){aStr.splice(0,1);}
data = aStr.join(',');
console.log('1');
}
//console.log(data);
}else{
if(num === ''){
data = false;
}else{
var aStr = input.toString().split(',');
data=false;
for(var i=0; i<aStr.length; i++){
data = aStr[i] === num.toString()? true:data;
}
}
}
return data;
}
收获:
复盘项目进度
评论