JSFiddle - React, Tailwind, and code Playground
HTML
<form action="post" method="">
<label for="pick_org">1. Pick Organization</label>
<select name="pick_org" id="pick_org">
<option value="1">Org 1</option>
<option value="2">Org 2</option>
<option value="3">Org 3</option>
<option value="4">Org 4</option>
<option value="5">Org 5</option>
</select>
<label for="pick_event">2. Select Event</label>
<select name="pick_event" id="pick_event">
<option value="A" class="org-3">Event A</option>
<option value="B" class="org-3">Event B</option>
<option value="C" class="org-5">Event C</option>
<option value="D" class="org-1">Event D</option>
</select>
</form>
JavaScript
$.fn.changeToHidden = function () {
this.each(function(i, ele) {
var $ele = $(ele),
$new = $('<input type="hidden">').attr('rel', $ele.html())
.attr('value', $ele.attr('value'))
.attr('class', $ele.attr('class'));
$ele.parent().append($new);
$ele.remove();
});
};
$.fn.changeToOption = function () {
this.each(function(i, ele) {
var $ele = $(ele),
$new = $('<option>').html($ele.attr('rel'))
.attr('value', $ele.attr('value'))
.attr('class', $ele.attr('class'));
$ele.parent().append($new);
$ele.remove();
});
};
$("#pick_org").change(function() {
var org = $(this).val();
$("#pick_event option").changeToHidden();
$('#pick_event input[type="hidden"].org-' + org).changeToOption();
});