JSFiddle - React, Tailwind, and code Playground

by Amy Ruddy

HTML

<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<div class='mainContent'>
  <div class='container py-5' ng-app="hideShowApp" ng-controller="hideShowController">
    <div class='bg-white rounded shadow p-3 mx-auto'>
      <h1>Angular hide/show State/Province</h1>
      <p>Hide or show State/Province on section of Country where Country is either US or Canada</p>
      <div>
        <label for="country" class='d-block'>Country</label>
        <select ng-options="option for option in countryList" ng-model="selectedItem" ng-change="selectedItemChanged()">
        </select>
      </div>
      <div ng-show="state">
        <label for="province" class='d-block'>State</label>
        <select...

CSS

.mainContent,
html,
body {
  background-color: #e62a39;
}

.bg-white {
  max-width: 440px;
}

input,
select {
  min-width: 275px;
  height: calc(2.25rem + 2px);
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  margin-bottom: .5rem !important;
}

JavaScript

var app = angular.module('hideShowApp', []);
app.controller('hideShowController', function($scope) {
  $scope.state = true;
  $scope.province = false;

  $scope.countryList = ['United States', 'Canada'];
  $scope.stateList = ['Washington', 'Oregon', 'California'];
  $scope.provinceList = ['Ontario', 'British Columbia', 'Quebec']


  $scope.selectedItemChanged = function() {
    console.log($scope.selectedItem);
    ($scope.selectedItem == "United States") ? state = true : province = false;
  }
});