<!DOCTYPE html>
<html ng-app="testApp">

  <head>
    <script data-require="angular.js@1.3.13" data-semver="1.3.13" src="https://code.angularjs.org/1.3.13/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-controller="TestController">
    <select type="text" class="form-control form-control-small" ng-model="itemId" ng-options="item.id as item.name for item in items" ng-click="reset()" ng-change="update()" >
      <option value=""></option>
    </select>
  
  {{itemId}}
  </body>

</html>
// Code goes here

angular.module('testApp', []).controller('TestController', ['$scope',
    function($scope) {

      $scope.itemId = 0;
      $scope.changed = false;
      
      $scope.items = [{
        "id": 1,
        "name": "AAA"
      }, {
        "id": 2,
        "name": "BBB"
      }, {
        "id": 3,
        "name": "CCC"
      }, {
        "id": 4,
        "name": "DDD"
      }]

      $scope.update = function() {
        $scope.changed = true;
      }
      
      $scope.reset = function() {
        if($scope.itemId > 0 && !$scope.changed) {
          $scope.itemId = 0;
        }
        $scope.changed = false;
      }
    }]);
/* Styles go here */