Here is a simple way to hide <select> boxes under an absolutely-positioned element (element):

var hiddenSelects = new Array();
if (element.getClientRects)
{
 var selectBoxes = document.getElementsByTagName('select');
 var left = parseInt(element.style.left, 10) - windowScrollX;
 var top = parseInt(element.style.top, 10) - windowScrollY;
 var right = left + element.offsetWidth;
 var bottom = top + element.offsetHeight;
 for (var i = 0; i < selectBoxes.length; i++)
 {
  if (selectBoxes[i].getClientRects)
  {
   var rects = selectBoxes[i].getClientRects();
   for (var j = 0; j < rects.length; j++)
   {
    if (rects[j].top < bottom
       
&& top < rects[j].bottom 
        && rects[j].left < right
        && left < rects[j].right)
    {
     selectBoxes[i].style.visibility = 'hidden';
     hiddenSelects[hiddenSelects.length] = selectBoxes[i];
     break;
    }
   }
  }
 }
}

The hidden <select>s will be stored in the selectBoxes array.  To restore them later, simply:

for (var i = 0; i < hiddenSelects.length; i++)
   hiddenSelects[i].style.visibility = 'visible';

Note that the element (element) will need to be pre-positioned (via pixel-based left and top values) and the values for windowScrollX and windowScrollY should already be calculated (that's a different topic). 

This process for hiding selects will only process in IE (which is the only browser that requires such a script) and works quickly.