yo te recomiendo que lo construyas concatenando su estructura HTML, es decir que en una variable string concatenes incluso <select name="x"> ... </select> y luego con innerHTML lo asignes a una capa.
¿por qué?: por el hecho de que el método que implementas falla en algunas versiones de IE, y por ello ésta forma con innerHTML es mucho más segura, suerte