angularjs 操作二维数组 加 file文件绑定

二维数组遍历 

获取两个index 其中 获取父域里的index 的方法为: {{$parent.index}}  获取当前index 的方法为:  {{$index}}

注意: 不要用 ng-if 会出现 两个index 重置成值相同  可以用 ng-show

其中二位数组需要用到 file 就需要通过一下代码 进行值的绑定

<div ng-show="$index==0">
<button type="button" ng-click="addFile($parent.$index,$index)" class="btn btn-primary" >增加行</button>
</div>
<div ng-show="$index>0">
<button type="button" ng-click="deFile($parent.$index,$index)" class="btn btn-primary" >删除行</button>
</div>

  $scope.files=[
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
                [{"fileTitle": "", "fileNum": "", "fileReply": "", "fileTime": "","file":""}],
            ]


操作二维数组 :

  $scope.deFile = function (index1,index2) {
            $scope.indexNumByFile= $scope.indexNumByFile-1;
            $scope.files[index1].splice(index2,1);
        };
        $scope.addFile = function (index1,index2) {
            $scope.indexNumByFile= $scope.indexNumByFile+1;
            $scope.files[index1].push({});
        };

或者 根据 item 判断 index 值  因为如果用了过滤器 传入的index 不是实际index值

items.splice(items.indexOf(item),1);

angular 绑定 input 的file文件:

<div class="form-group">
<input type="file" id="file_{{$index}}" name="file_{{$parent.$index}}" ng-model="fileOneOne.file" class="form-control" οnchange="angular.element(this).scope().fileNameChanged(this)">
</div>

$scope.fileNameChanged = function (el) {
var filexx = el.files[0];
var index=el.id.replace('file_','');
var parentIndex=el.name.replace('file_','');
$scope.files[parentIndex][index].file=filexx;
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章