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>")
});
}