My first suggestion would be to have the popout div fly above rather than below. This way, it will always be 'above' (in z-index terms) the elements above, preventing it from being covered up by successive table rows.
Secondly, you can implement something like this:
<div class="action">
<div class="select"><!-- place select box here --></div>
<div class="popout"><!-- put stuff here --></div>
</div>
To activate it with CSS, use the following styling:
div.action {
width:75px;
height:30px;
position:relative;
}
div.select {
position:absolute;
top:0;
left:0;
}
div.popout {
position:absolute;
left:0;
bottom:30px;
width:300px;
display:none; /* reveal on hover */
}
div.action:hover div.popout {
display:block;
}
If you need compatibility with old versions of IE, you can add this JavaScript to the action div:
<div class="action" onmouseover=""this.className='action hover'" onmouseout="this.className='action'">
Then utilize a class of hover instead of the state:
div.hover div.popout {
display:block;
}
I hope that meets your requirements! :)