JSFiddle - React, Tailwind, and code Playground
HTML
Main Activity:
<select id="filterActivity" multiple="multiple" size="10" style="width:220px;">
<option value=""></option>
<optgroup label="Content Creation">
<option value="1 - Distributor/Agent" id="main1">1 - Distributor/Agent</option>
<option value="2 - Production Company" id="main2">2 - Production Company</option>
<optgroup label="Distribution Platforms">
<option value="3 - TV Broadcaster" id="main3">3 - TV Broadcaster</option>
<option value="4 - Distributor/Agent" id="main4">4 - Video Distributor</option>
</select>
<br /><br />
Sub Activity:
<select id="filterSubActivity" multiple="multiple" size="15" style="width:220px;">
<optgroup label="1 - Distributor/Agent" id="sub1">
<option value="1A - Sound Libraries">1A - Sound Libraries</option>
<option value="1B - HD Digital Radio">1B - HD Digital Radio</option>
<optgroup label="2 - Production Company" id="sub2">
<option value="2A - Animation Graphics (CGI)">2A - Animation Graphics (CGI)</option>
<option value="2B - Co Production">2B - Co Production</option>
<option value="2C - Sub Production">2C - Sub Production</option>
<optgroup label="3 - TV Broadcaster" id="sub3">
<option value="3A - Antennas Transmitter">3A - Antennas Transmitter</option>
<option value="3B - Cable and Satellite">3B - Cable and Satellite</option>
</select>
JavaScript
$(document).ready(function () {
$("#filterActivity").change(function () {
$("#filterSubActivity").children("optgroup").children().prop("disabled", "disabled").prop("selected", false);
var arr = $(this).val();
for (var i = 0; i < arr.length; i++) {
$("#filterSubActivity").children("optgroup[label='" + arr[i] + "']").children().prop("disabled",false).prop("selected", "selected");
}
$("#filterSubActivity").focus();
});
});