I suggest you to use ui-select2 ready to use directive for similar functionality @ https://github.com/angular-ui/ui-select2, it provides "simple tagging mode" similar to your requirement
Check the new example. The old example can be found here.
$scope.tagsSelection = [
{ "id": "01", "text": "Perl" },
{ "id": "03", "text": "JavaScript" }
];
$timeout(function(){
$scope.tagsSelection.push({ 'id': '02', 'text': 'Java' });
}, 3000);
$scope.tagData = [
{
"id": "01",
"text": "Perl"
},
{
"id": "02",
"text": "Java"
},
{
"id": "03",
"text": "JavaScript"
},
{
"id": "04",
"text": "Scala"
}
];
$scope.tagAllOptions = {
multiple: true,
data: $scope.tagData
};
You can check details for options and documentation at: http://ivaynberg.github.io/select2/