<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
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |