将dijit.form.Select下拉放置在特定位置而不是主体底部

时间:2012-08-15 17:31:57

标签: dojo dijit.form

有没有人知道如何将dijit.form.Select下拉放在某个div中,而不是像dijit一样放在body的底部?我已经在dijit.Dialog中替换了select元素 - select是好的,但它没有选项。所有选项都位于正文的底部,位于对话框的底层之后。试过MySelect.dropDown.placeAt() - 它有奇怪的效果,它用滚动条放置一些空div但是值仍然在同一个地方而且我无法访问它们的div - 它无法使用MySelect.dropDown.parentWidget因为它指向MySelect。

1 个答案:

答案 0 :(得分:0)

您可以通过窗口小部件的“dropDown”属性访问它。

var node = dijit.byId('myselect').dropDown.domNode

这将为您提供全局menu-popup-container的第一个子节点。只有一个,因为dijit中的菜单布局是这样的,只有一个应该同时出现。

所以

   node.className == "dijitSelectMenu" 
&& node.parentNode.className == "dijitPopup dijitMenuPopup"

具有z-index的那个是dijitPopup(这是全局的,这里的更改样式会因任何其他选择框而改变,甚至可能使用工具提示)