JSFiddle - React, Tailwind, and code Playground
HTML
<select>
<option value="0">Select</option>
<option value="1">Milk</option>
<option value="2">Eggs</option>
<option value="3">Cheese</option>
<option value="4">Butter</option>
<option value="5">Pizza</option>
</select>
<select>
<option value="0">Select</option>
<option value="1">Milk</option>
<option value="2">Eggs</option>
<option value="3">Cheese</option>
<option value="4">Butter</option>
<option value="5">Pizza</option>
</select>
<select>
<option value="0">Select</option>
<option value="1">Milk</option>
<option value="2">Eggs</option>
<option value="3">Cheese</option>
<option value="4">Butter</option>
<option value="5">Pizza</option>
</select>
JavaScript
$(document).ready(function () {
$("select").on("change", function () {
// Show all options
$("option").prop("disabled", false);
// Get an array of all current selections
var selected = [];
$("select").each(function () {
selected.push($(this).val());
});
// Remove all selected options, except the current showing one, from all lists
$("select").each(function () {
for (var i = 0; i < selected.length; i++) {
if (selected[i] != $(this).val()) {
$(this).find("option[value='" + selected[i] + "']").prop("disabled", true);
}
}
});
});
});