发表于: 2017-03-04 23:58:40
1 1089
今天做的事
公司新增页面的部分内容以及新增职位的tags部分
明天计划
完善新增职位页面和晚上学习下小直播
收获以及困惑
tags部分,过来的是一数组,在职位编辑现实的是复选框
这个地方略麻烦,请求过来的是这么一东西
"tags":[{"tag":"福利好"},{"tag":"996"}]
然后过来以后据此来生成复选框,value为过来的内容,然而实际上没有做到
于是上网去找了一个复选框的demo
<div ng-repeat="tag in tags.content track by $index ">
<input type="checkbox"
title="标签"
class="btn "
id="{{tag.id}}"
name="{{tag.name}}"
ng-checked="isSelected(tag.id)" //动态 true false
ng-click="updateSelection($event,tag.id)" //将id添加到Array中
ng-model="tags">
{{tag.name}}
</div>
$scope.selected = [];
$scope.selectedTags = [];
//实际操作数组的方法
var updateSelected = function (action, id, name) {
if (action == 'add' && $scope.selected.indexOf(id) == -1) {
$scope.selected.push(id);
$scope.selectedTags.push(name);
}
if (action == 'remove' && $scope.selected.indexOf(id) != -1) {
var idx = $scope.selected.indexOf(id);
$scope.selected.splice(idx, 1);
$scope.selectedTags.splice(idx, 1);
}
console.log($scope.selected);
};
//根据传入的动作和要操作的id更新Array
$scope.updateSelection = function ($event, id) {
var checkbox = $event.target;
var action = (checkbox.checked ? 'add' : 'remove');
updateSelected(action, id, checkbox.name);
};
//返回true false
$scope.isSelected = function (id) {
return $scope.selected.indexOf(id) >= 0;
};
而后又想,其实也不一定要用复选框来做啊,我直接根据这个数组生成一堆span
然后点击ng-class来判定好像也能达到需求啊
所以这样一来也灭那么麻烦了
评论