浏览 7015 次
锁定老帖子 主题:dojo对话框的编程实现
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-10
js片断 <script type="text/javascript"> dojo.require("dijit.Dialog"); function showDia(){ pane=document.createElement("div"); pane.setAttribute("id","diaDiv"); document.body.appendChild(pane); var dia=new dijit.Dialog({title:"dojo dialog"},pane); dia.show(); } </script> ------------------------- html片断 <button id="b1" onclick="showDia()">show dialog</button> 这个我已经实现 我现在的问题是,如果希望在对话框里加入其他组件,如dojo的comboBox,又该如何呢?comboBox涉及到的数据源的组件,如dojo的ItemFileReadStore又该如何实现呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-10
我还有另外一个问题:
dialog已经了contentpane,但我希望能象在一般page里实现layout一样,在dialog中也可以有其他的layout container.我该如何做? |
|
返回顶楼 | |
发表时间:2007-10-24
我看见网上有另一种,事先写在页面,然后通过dijit.byId()方法获得并显示Dialog但不知道为什么有时候不能正常显示。
|
|
返回顶楼 | |
发表时间:2007-10-25
理论上说,用dijit.byId是可以得到某个widget的,而且在我使用的过程中也没有出现什么问题。
你说的现象,最好还是看具体情况,把你的代码拿出来分析一下。也许出错并不是dijit.byId的原因,而是其他原因导致 |
|
返回顶楼 | |
发表时间:2007-10-29
var formhtml="<table>";
for (prop in lables){ if(!lables[prop]) lables[prop]=prop+""; var lb=lables[prop]; if(lb.select){ formhtml+=this.createSelect(lb.lable,prop,lb.select); }else if(lb.check){ formhtml+=this.createCheckBox(lb.lable, prop); }else{ formhtml+=this.createInputBox(lb,prop); } }; formhtml+="<tr><td colspan='2' align=\"center\"><button dojoType=dijit.form.Button type=\"submit\">OK</button></td></tr>"; formhtml+="</table>"; //console.debug('formhtml='+formhtml); this.setContent(formhtml); |
|
返回顶楼 | |
发表时间:2007-10-29
扩展dijit.Dialog类,然后初始化的时候setContent即可以
|
|
返回顶楼 | |
发表时间:2007-11-01
我这边做下来,使用setContent是可行的
具体代码类似: var dlgDiv=document.createElement('div'); var dlg=new dijit.Dialog({title:"dojo dialog"},dlgDiv); var btnDiv=document.createElement('div'); var btn=new dijit.form.Button({label:'Ok'},btnDiv); dlg.containerNode.setContent(btn.domNode); |
|
返回顶楼 | |