2016-04-21 53 views
1

我有一個嵌套的JSON對象,它具有其中一個屬性的數組。 數組項有';'。無法在angularJS中使用split()時編輯輸入

我想要實現的是對待';'作爲分隔符,然後再分割數組項以進行更改。

一旦做出更改,就像之前一樣將它們重新加入。 問題是,我能夠根據此分隔符拆分數組項目,但無法對其進行編輯。 我的JSON:

{ 
    name:"test1", 
    xdata:["1;2;3","abhsad"] 
} 

這裏的plunker:http://plnkr.co/edit/VYTQ6jvJ1bCKosRXh2Nt?p=preview

回答

2

這將是一個有點棘手的樣本,但它仍然是可能的。您將需要兩個ngRepeat迴路很少ngInit/ngChange操作,以初始化和更新的東西:

angular.module('demo', []).controller('DemoController', Ctrl); 
 

 
function Ctrl($scope) { 
 
    $scope.group = { 
 
    name: "test1", 
 
    xdata: ["1;2;3", "abhsad"] 
 
    } 
 
}
<script src="//code.angularjs.org/1.5.5/angular.min.js"></script> 
 

 
<div ng-app="demo" ng-controller="DemoController"> 
 

 
    <div ng-repeat="(i, val) in group.xdata track by $index" 
 
     ng-init="parts = val.split(';')"> 
 
    
 
    <input type="text" 
 
      ng-model="part" 
 
      ng-repeat="(j, part) in parts track by $index" 
 
      ng-change="parts[j] = part; group.xdata[i] = parts.join(';')"> 
 
    </div> 
 

 
    <pre>group = {{group | json}}</pre> 
 
</div>

+0

ngChange,完美!奇蹟般有效。 –

0

您必須創建爲每分裂值模型,將依次在文本框中,並在此之後改變值更新模型對應型號您可以編寫一個更新xData值的函數。

這裏是plnkr http://plnkr.co/edit/0Rvi59pJJwwaw4zBMDD3?p=preview

+0

這將只能用於數組中的第一個項目,因爲你已經給數組索引[ 0] –

相關問題