user15009
user15009

Reputation: 53

How to get multiple selected check box values

How to get multiple selected check box values in Angular.js and insert into database separated with a comma (,) ?

Upvotes: 5

Views: 7535

Answers (1)

Jossef Harush Kadouri
Jossef Harush Kadouri

Reputation: 34207

You can use ng-repeat + ng-model over an array of options.

DEMO http://plnkr.co/edit/KcUshc74FZL1npZsKbEO?p=preview

html

<body ng-controller="MainCtrl">
  <div class="container">

    <h1>Options</h1>

    <div>

      <div class="form-group" ng-repeat="option in options">
        <label>{{option.name}}</label>
        <input type="checkbox" ng-model="option.value">
      </div>

    </div>

    <hr>
    <button class="btn btn-primary" ng-click="save()">save to database</button>

  </div>


</body>

js

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {

  $scope.options = [{
    name: 'java',
    value: true,
  }, {
    name: 'c#',
    value: false
  }, {
    name: 'angular',
    value: true
  }, {
    name: 'r',
    value: false
  }, {
    name: 'python',
    value: true
  }, {
    name: 'c++',
    value: true
  }];

  $scope.save = function() {

    var optionsCSV = '';

    $scope.options.forEach(function(option) {

      if (option.value) {

        // If this is not the first item
        if (optionsCSV) {
          optionsCSV += ','
        }
        optionsCSV += option.name;
      }

    })

    // Save the csv to your db (replace alert with your code)
    alert(optionsCSV);

  };


});

Upvotes: 5

Related Questions