2-way binding of textArea in angular js

后端 未结 2 1423
迷失自我
迷失自我 2021-01-20 02:11

I have a list of question that user has to answer.For that a have prepared a form.

The html form is

相关标签:
2条回答
  • 2021-01-20 02:32

    You have to bind ng-model to the textarea, it works even if you don't have the "answer" variable in your initial json data. I have added a button for demo purpose. Full example on JSFIDDLE

    <div id="qApp" ng-controller="qAppCntrl">
     <div class="list" ng-repeat="question in questions.data.Question track by $index" > 
      <div class="item item-divider">
         {{question.text}}
      </div>
      <label class="item item-input" ng-if="question.type =='comment'">
        <textarea placeholder="Comments" ng-model="question.answer"></textarea>
      </label>
     </div>
     <button ng-click="submit()">Post</button>
    </div>
    
    0 讨论(0)
  • 2021-01-20 02:45

    I am not angular expert, but I think you need to add ng-model to the textarea element.

    <div class="list" ng-repeat="question in questions.data.Question" > 
          <div class="item item-divider">
              {{question.text}}
          </div>
          <label class="item item-input" ng-if="question.type =='comment'">
              <textarea placeholder="Comments" ng-model="question.comments"></textarea>
          </label>
     </div>
    

    And, you also need to add 'comments' field to each comment type question. Example:

            {
                "id": "6",
                "text": "how was it?",
                "type": "comment",
                "comments": ""
    
            }
    

    Note that you may not need to add "comments" field if there is a 'force add field' flag for angularjs that i'm not aware of.

    0 讨论(0)
提交回复
热议问题