<!DOCTYPE html>
<html>
<head>
<script data-require="angular.js@1.1.5" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="FormApp">
<div ng-controller="EntityForm">
<form role="form">
<div ng-repeat="element in form" ng-switch="element.widget">
<div class="form-group" ng-switch-when="select">
<select class="form-control" ng-model="element.model" ng-required="element.required" ng-options="o.key as o.name for o in element.options">
<option value="">{{element.label}}</option>
</select>
</div>
</div>
</form>
</div>
</body>
</html>
var app = angular.module('FormApp', []);
app.controller('EntityForm', function ($scope) {
$scope.form = [
{
label: 'Age range',
model: 'age_range',
widget: 'select',
required: true,
options: [{
key: '20',
name: 'm20'
}, {
key: '40',
name: 'm40'
}, {
key: '60',
name: 'm60'
}]
}
];
});