2017-01-06 15 views
1

私はいくつかの質問とそれに対応する回答を表示するために、3つの入れ子にされたng-repeatを使用しています。それまではうまくいきますが、回答を保存するためのフォームを作成しなければなりません。どのような方法でそれを行うのですか?私はこれをテストしています: JSONからの動的フォームの作成

<form> 
    <div class="panel panel-default" ng-repeat="section in questionsTest"> 
     <div class="panel-heading"> 
      <h1>{{ section.name }}</h1> 
      <h3 class="panel-title">{{ section.name }}. {{ 
       section.description }}</h3> 
     </div> 
     <div class="panel-body" ng-repeat="question in section.questions"> 
      {{ question.statement }} 
      <div ng-repeat="answer in question.answers"> 
       <label class="radio-inline"> <input type="{{ answer.type }}" ng-model="test.idRadioButton" 
        name="{{ question.id }}" id="{{ answer.id }}" value="{{ answer.id }}"> 
        {{ answer.valor }} 
       </label> 
      </div> 
     </div> 
    </div> 
</form> 

この

は、JSONです:私は他のすべての質問にもクリックされます最初の質問をクリックすると

{ 
    "section": [{ 
     "name": "Sección 1", 
     "questions": [{ 
      "statement": "Primera pregunta", 
      "answers": [{ 
       "valor": "1", 
       "id": 3, 
       "type": "radio" 
      }, { 
       "valor": "2", 
       "id": 4, 
       "type": "radio" 
      }, { 
       "valor": "3", 
       "id": 7, 
       "type": "radio" 
      }, { 
       "valor": "4", 
       "id": 8, 
       "type": "radio" 
      }, { 
       "valor": "5", 
       "id": 9, 
       "type": "radio" 
      }, { 
       "valor": "6", 
       "id": 10, 
       "type": "radio" 
      }, { 
       "valor": "7", 
       "id": 11, 
       "type": "radio" 
      }], 
      "id": 1 
     }, { 
      "statement": "Pregunta 3", 
      "answers": [{ 
       "valor": "Si", 
       "id": 1, 
       "type": "radio" 
      }, { 
       "valor": "No", 
       "id": 2, 
       "type": "radio" 
      }], 
      "id": 3 
     }, { 
      "statement": "Pregunta 4", 
      "answers": [{ 
       "valor": "Si", 
       "id": 1, 
       "type": "radio" 
      }, { 
       "valor": "No", 
       "id": 2, 
       "type": "radio" 
      }], 
      "id": 4 
     }], 
     "description": "description", 
     "id": 1 
    } 

それは、まったく動作しません。私は角張った初心者で、私はこれに対処する方法を知らない。ありがとうございます

今、 '私はすべてのラジオボタンをクリックして保存することはできません。これは私が私のコントローラを持っているかである:

$scope.question = {}; 
    $scope.testing = function(){ 
     console.log($scope.question); 
    }; 

テスト機能は、ちょうどショーのために、コンソール上の$ scope.questionに格納された値です。

+0

に変更するだけでなく、名前を変更する必要がありますか?また、あなたの問題を解読するためにjsonの例を投稿してください。 – MiltoxBeyond

+0

@MiltoxBeyond私はすでにjsonをコピーしてIDを変更しようとしましたが、まだ動作しません。 – proktovief

答えて

0

質問ごとに異なるモデルを使用する必要があります。

使用:

ng-model="question.value" 

私は右ここで働く例を作った:https://plnkr.co/edit/SMYqvUNqXNJkW9x9ZmsB?p=preview

しかし多分あなたはradioボタンの目的で混乱しています。ラジオボタンでは、一度に1つずつ選択できます。複数のタイプが必要な場合は、タイプをcheckbox

+0

私は試しましたが、まだ動作しません – proktovief

+0

今働いていますあなたが私にplnkrを見せてくれたような気がしますが、値を保存することはできません。私は自分のコントローラーでどのように持っているのかを発表しました。 – proktovief

関連する問題