Dojo dijit.form.select:创建一个新的选择部件后,旧部件的选定值无法更改
问题描述:
我正在使用javascript功能在div点击事件中创建新的选择框。Dojo dijit.form.select:创建一个新的选择部件后,旧部件的选定值无法更改
当用户点击div时,会在页面的其他地方创建一个新的选择框(以及其他东西)。
具体地,在一个div点击,创建以下形式的字符串(在JavaScript函数):
<select id="derp"+divName dojoType="dijit.form.Select" onChange="dosomething()">
<option value="foo">foo</option>
<option value="bar">bar</option>
...
</select>
然后我调用一个函数来widgetize上述选择:
function makeDojoWidget(digitID){
var widget = new dijit.form.Select({},digitID); //options,elementID
}
它创建的部件就好了。当用户点击另一个div时,它会创建另一个选择框。但是只有新的选择是可编辑的。即我不能改变其他选择框的选定值。
它工作正常,当我不试图呈现它作为dijit,所以它似乎是一个道场问题(即如果我创建一个常规的选择,我可以改变所有选择的值,当我做新选择)。
我很难过......有什么建议吗?
答
试着强制启用它。 在你的函数
function makeDojoWidget(digitID){
var widget = new dijit.form.Select({},digitID); //options,elementID
}
readOnly的设置为false一些单词。
function makeDojoWidget(digitID){
var widget = new dijit.form.Select({readOnly:false},digitID); //options,elementID
}
如果在函数的作用域之外声明var小部件会发生什么? – perissf 2011-12-14 13:06:33