2014-03-27 21 views
0

這是我的linkAnguarjs如何重新格式化服務器收到的對象

假設從某處服務器接收到testDataArray,則根據testDataArray創建html佈局。

我需要做的是:一旦用戶輸入了某些東西,需要將testDataArray轉換爲對象之後的,然後發送回服務器。

,並希望印刷的對象應該是這樣的:

{ 
    "Untitled Title 1": "sss", 
    "Untitled Title 2":"sss"  
} 

這裏是對象,從服務器

$scope.testDataArray = 
    [{ 
     Question: { 
      title: { en: "Untitled Title 1"}, 
      description: { en: "Untitled description 1"}, 
      options: {value: {en:""}} 
     },Selection: "text" 
    }, 
    { 
     Question: { 
      title: { en: "Untitled Title 2"}, 
      description: { en: "Untitled description 2"}, 
      options: {value: {en:""}} 
     },Selection: 'text' 
    }]; 

有人能幫助我在接受?非常感謝!

+0

這不分配遞到你的答案陣列,但它確實表明在下面http://plnkr.co/edit/OgGQF5?p=preview – BenCr

+0

@BenCr我希望部分的文本框的值標題答案對象被打印出來,格式與問題 – Justin

+0

中的格式相同好的綁定非常直接,我在plnkr中顯示了一個例子,迭代一個數組並創建一個新的數組,這是isn 'domyworkforme.com,做一些研究。 – BenCr

回答

1

只是看看這個plunkr:http://plnkr.co/edit/R4KUn1bcCEFuaFwix75c?p=preview 我用ng-model和幾乎所有你問我猜。

// index.html 
<div ng-repeat="k in binder"> 
<input type="text" ng-model="k.val"> 
</div> 

// js 
$scope.binder = []; 
for(var i=0; i<$scope.testDataArray.length;i++){ 
    var key = $scope.testDataArray[i].Question.title.en; 
    var obj = {}; 
    obj['key'] = key; 
    obj['val'] = ""; 
    $scope.binder.push(obj); 
} 
+0

謝謝!但這不是我需要的。因爲testDataArray是從服務器接收的,我不知道它中有多少個元素,所以我不能像你提供的那樣創建一個靜態數組:$ scope.answer = {firstRow:「」,secondRow:「」}; – Justin

+0

我不明白,所以你會收到這個數組,並且爲每個你想創建輸入文本的數組元素以及這些文本的結果都想要創建這個對象? – anvarik

+0

您好,感謝您的回覆!我已經重新編輯了這個問題,希望它有意義 – Justin