Removing option selected in combo box from other combos

Removing option selected in combo box from other combos

by kapilgopinath

HTML

<select class="dropdwn" name="dropdown1">
  
</select>

<select class="dropdwn" name="dropdown2">
 
</select>

JavaScript

var $dropdown1 = $("select[name='dropdown1']");
var $dropdown2 = $("select[name='dropdown2']");
var comm = ['Select','test1','test2','test3'];
$.each(comm,function(i,val){
   $('.dropdwn').append("<option value='" + (val=='Select' ? '' : val) + "'>" + val + "</option>")
});
/*$dropdown1.change(function() {
    $dropdown2.empty().append($dropdown1.find('option').clone());
    var selectedItem = $(this).val();
    if (selectedItem) {
        $dropdown2.find('option[value="' + selectedItem + '"]').remove();
    }
});*/
var a = {};
$('.dropdwn').focus(function(){
    var selName = $(this)[0].name;
  	var selVal = $(this).val();
    a[selName] = selVal;
});
$('.dropdwn').change(function(){
	console.log($(this).prev().find('option:selected'));
  //$('.dropdwn').empty();
	//addOpts();
	//console.log($('.dropdwn:not([name=dropdown2])'))
  var selName = $(this)[0].name;
  var selVal = $(this).val();
  $('.dropdwn:not([name='+selName+'])').find('option[value='+selVal+']').remove();
  //$('.dropdwn:not([name='+selName+'])').append("<option value='" + a[selName] + "'>" +a[selName] + "</option>");
  if (a[selName])
  $.each($('.dropdwn:not([name='+selName+'])'), function(n,obj){
      if ($(obj).find('option[value='+a[selName]+']').length){
        $(obj).find('option[value='+a[selName]+']').remove();
      }else{
      	$(obj).append("<option value='" + a[selName] + "'>" + a[selName] + "</option>");
      }
  });
   a[selName] = selVal;
  //$('.dropdwn:not([name='+$(this)[0].name+'])').find('option[value='+$(this).val()+']').remove();
});

function addOpts(){
	$.each(comm,function(i,val){
   $('.dropdwn').append("<option value='" + val + "'>" + val + "</option>")
});
}