基于数据的分层列表按钮
Hierarchical list buttons based on data
我想要一个指令,它将根据类别层次名称数组呈现按钮列表。如果类别没有更多的子类别,按钮将选择该类别,如果它有子类别,则将向下钻取到下一层。
我/p:
[{name: electronics "}, {name: '爱好'},{name: 'electronics|computers'}, {name: 'electronics|computers|software'}, {name: 'electronics|耳机'}]
上面的数组将首先呈现2个按钮,点击电子设备将呈现新的按钮:计算机和耳机等。
我试着:
controller: ['$scope', function($scope) {
$scope.category= [];
$scope.init = function() {
for(var index=0; index<$scope.option.data.length; index++) {
if($scope.option.data[index].name.indexOf("|") === -1){
$scope.category.push($scope.option.data[index]);
}
}
}
$scope.init();
$scope.drillDown=function(value){
// console.log(value);
var count = 0;
var arrVal=[];
arrVal=value
$scope.category= [];
for(var index=0; index<$scope.option.data.length; index++) {
if($scope.option.data[index].name.indexOf(value + "|") !== -1){
for(var i=0; i< $scope.option.data[index].name.length; i++){
if($scope.option.data[index].name[i] == '|'){
count+=1;
}
}
if(count === 1){
$scope.category.push($scope.option.data[index]);
}
count = 0;
}
}
}
}]
检查下面的代码片段:
$scope.drillDown = function(event){
$scope.delimiter = '|';
$scope.buttons = [];
$scope.delimiterCount = (event.n.split($scope.delimiter).length - 1);
$scope.flagAll = false;
angular.forEach($scope.option.data,function(value,index){
if($scope.option.data[index].name.indexOf(event.n+$scope.delimiter) !== -1){
$scope.splitData = $scope.option.data[index].name.split($scope.delimiter);
if($scope.flagAll == false){
$scope.buttons.push("All "+$scope.splitData[$scope.delimiterCount]);
$scope.flagAll = true;
}
if(($scope.splitData.length-1) > ($scope.delimiterCount+1)){
//$scope.buttons.push("All "+$scope.splitData[$scope.delimiterCount]);
}
else{
$scope.buttons.push($scope.option.data[index].name);
}
}
});
}
相关文章:
- 要求输入在数据列表中
- 从javascript创建一个列表
- 如何使用jQuery选择下拉列表的值
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- 如何使用json将对象列表从java转换为javascript
- 区分JSON中的矩阵和列表列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 接受不在列表中的值-引导组合框
- 禁用jQuery中的下拉列表
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 如何在javascript中迭代数字列表
- 如何在按钮中显示下拉列表中选定的元素
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- Jquery函数将选项列表拆分为分层选择
- 基于数据的分层列表按钮
- 使用javascript将分层无序列表转换为选择列表
- 从apex中的包装器类列表转换而来的JSON的分层JSON