Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<head></head>
<body>
  <select id="region" class="select__region">
    <option value="NORTH">North</option>
    <option value="SOUTH">South</option>
    <option value="EAST">East</option>
    <option value="WEST">West</option>
  </select>
  <select id="data" class="select__data">
    <option value="i1">i1</option>
    <option value="i2">i2</option>
    <option value="i3">i3</option>
    <option value="i4">i4</option>
  </select>
</body>
 
(function () {
  var CLASSES = {
    region    : '.select__region',
    data      : '.select__data'
  },
    map = {
      NORTH: [
        'i1',
        'i2'
      ],
      SOUTH: [
        'i3'
      ],
      EAST: [
        'i4'
      ],
      WEST: [
        
      ]
    },
    regionSelect = document.querySelector(CLASSES.region),
    dataSelect     = document.querySelector(CLASSES.data),
    filterData = function(val) {
      var opts = dataSelect.options,
        allowedOpts = map[val];
      dataSelect.value = allowedOpts[0];
      for(var i = 0; i < opts.length; i++) {
        if (allowedOpts.indexOf(opts[i].value) === -1) {
          opts[i].hidden = true;
        } else {
          opts[i].hidden = false;
        }     
      }
    };
  filterData(regionSelect.value);
  regionSelect.addEventListener('change', function(e) {
    filterData(this.value);
  });
}());
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers