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;
};

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