JSFiddle - React, Tailwind, and code Playground
HTML
<div id='questions'></div>
JavaScript
var $qs;
$(function(){
$qs = $('#questions');
var $S1 = $('<select class="question" />');
$S1.append($('<option/>', {'val':1, 'text':1}));
$S1.append($('<option/>', {'val':3, 'text':3}));
$qs.append($S1).append('<br />');
var $S2 = $('<select class="question" />');
$S2.append($('<option/>', {'val':2, 'text':2}));
$S2.append($('<option/>', {'val':3, 'text':3}));
$qs.append($S2);
var $prev = null;
$("select.question").focus(function () {
//The currently selected option
$prev = $(this).find("> option:selected");
}).change(function () {
//The select list I am manipulating
var $select = $(this);
//Get all the select elements excluding the one we're currently on.
var Qs = $("select.question").not($select);
//Add the de-selected option to all the other grids
Qs.prepend($prev.clone());
//Remove the selected option from all the other grids
Qs.find(" > option:[value='" + $select.val() + "']").remove();
//The currently selected option
$prev = $select.find("> option:selected");
});
});