Simple problem, probably discussed many times, but I can't find a proper solution on this simple issue.
The problem:
modifications on selected items have no effect on the view (which it should).
Controller:
var myApp = angular.module('myApp', ['ui.select2']);
function MyCtrl($scope) {
$scope.selectedDaltons = [4]; // Averell is preselected (id:4)
$scope.daltons = [
{ id: 1, name: 'Joe' },
{ id: 2, name: 'William' },
{ id: 3, name: 'Jack' },
{ id: 4, name: 'Averell' },
{ id: 5, name: 'Ma' }
];
$scope.changeAverellsName = function() {
// Fiddle's issue!!
// observe, that the selected item on the view does not change!!
$scope.daltons[3].name = "Idiot";
};
};
View:
<div ng-controller="MyCtrl">
<!-- changing model via click -->
<button ng-click="changeAverellsName()">change Averell's name to 'Idiot'</button>
<!-- selected items are not binded to the model -->
<select multiple ui-select2 class="form-control" id="70.1.6.3" data-ng-model="selectedDaltons">
<option data-ng-repeat="dalton in daltons" value="{{dalton.id}}" text="">{{dalton.name}}</option>
</select>
<!-- this list is for assure, that two way binding works -->
<ul>
<li data-ng-repeat="dalton in daltons">{{dalton.name}}</li>
</ul>
</div>
How can I make the two way binding work?