angular - Update values of radiobuttons with textarea

3

By popover I want to subtract the values of the radiobutton, who should come to a textbox of preference per line, then when the user wants to add options just insert a new value in the next line.

<divng-repeat="controle in dataform.controles" ng-switch on="controle.tipo">   

  <div ng-switch-when="radio" class="kahiar-block">   

    <div id="cmp_{{controle.codcontrole}}" class="campos form-group disabled col-md-6 animated bounceInRight " ng-controller="ControlEditCtrl" popover-placement="top" uib-popover-template="dynamicPopover.templateUrl" popover-title="Editar Controle">  
      <div class="conteudo-campo">    
        <label data-id="lbl{{controle.codcontrole}}" class="label-titulo"></label>
        <div class="input-group">
          <label class="checkbox-inline" id="div_{{$index}}" ng-repeat="item in controle.opcoes track by $index" name="{{item.codcontrole}}">          
            <input id="radio_{{$index}}" icheck type="radio"  ng-value="item" ng-model="$parent.dataform[controle.nome]">
            {{item}}
          </label>        
        </div>
      </div>
    </div>

  </div>

</div>



 <script type="text/ng-template" id="myPopoverTemplate.html">
  <div class="form-group">        
    <label>Opções</label>
    <textarea  ng-model="controle.opcoes" class="form-control">
      {{controle.opcoes.join("\n").trim()}}
    </textarea>
  </div>
  <button class="btn btn-primary">Save</button>
</script>
    
asked by anonymous 18.11.2016 / 02:09

1 answer

2

You're doing almost everything the right way, but it's best to consider that the options will be just text and use split when setting checkbox , as below:

(function() {
  'use strict';
  
  angular
    .module('appExemplopRadio', []);

  angular
    .module('appExemplopRadio')
    .controller('RadioController', RadioController);

  RadioController.$inject = [];
  
  function RadioController() {
    var radio = this;
    
    iniciar();
    
    function iniciar() {
      radio.opcoes = [];
    }
  }
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script><divng-app="appExemplopRadio">
  <div ng-controller="RadioController as radio">
    <textarea  ng-model="radio.opcoes" class="form-control">
    </textarea>
    <br>
    <br>
    <div class="input-group">
      <label class="checkbox-inline" id="label_radio_{{$index}}" ng-repeat="item in radio.opcoes.split('\n') track by $index">          
        <input id="radio_{{$index}}" ng-checked="radio.selecionado === item" type="radio" ng-value="item" ng-model="radio.selecionado">
        {{item.trim()}}
      </label>
    </div>
  </div>
</div>

Result:

    
19.11.2016 / 14:21