Простой простой способ.
function down(what) {
pos = $(what).offset(); // remember position
$(what).css("position","absolute");
$(what).offset(pos); // reset position
$(what).attr("size","10"); // open dropdown
}
function up(what) {
$(what).css("position","static");
$(what).attr("size","1"); // close dropdown
}
Теперь вы можете вызывать свой DropDown так же, как это
<select onfocus="down(this)" onblur="up(this)">
Прекрасно работает для меня.
Может быть, лучше, потому что у вас нет проблем с расположением других элементов на странице.
function down(was) {
a = $(was).clone().attr('id','down_man').attr('disabled',true).insertAfter(was);
$(was).css("position","absolute").attr("size","10");
}
function up(was) {
$('#down_man').remove();
$(was).css("position","static");
$(was).attr("size","1");
}
Измените идентификатор на фиксированное значение, хотя я не умный, но я надеюсь, что вы видите идею.