【发布时间】:2011-12-14 12:31:09
【问题描述】:
我正在通过 javascript 函数在 div 点击事件上创建新的选择框。
当用户单击 div 时,会在页面的其他位置(以及其他内容)创建一个新的选择框。
具体来说,在单击 div 时,我创建了一个字符串(在 javascript 函数中),格式如下:
<select id="derp"+divName dojoType="dijit.form.Select" onChange="dosomething()">
<option value="foo">foo</option>
<option value="bar">bar</option>
...
</select>
然后我调用一个函数来对上面的选择进行小部件化:
function makeDojoWidget(digitID){
var widget = new dijit.form.Select({},digitID); //options,elementID
}
它可以很好地创建小部件。当用户单击另一个 div 时,它会创建另一个选择框。但是,只有新选择是可编辑的。即我无法更改其他选择框的选定值。
当我不尝试将其呈现为 dijit 时,它工作正常,所以这似乎是一个 dojo 问题(即,如果我创建一个常规选择,我可以在创建一个新选项时更改所有选择的选定值选择)。
我很难过...有什么建议吗??
【问题讨论】:
-
如果在函数范围之外声明 var 小部件会怎样?
-
你的
digitIDs 是独一无二的吗?您是否有任何理由没有完全以编程方式制作和放置小部件?
标签: javascript dojo