Dojo dijit.form.select:创建新的选择窗口小部件后,无法更改旧窗口小部件的选定值

时间:2011-12-14 12:31:10

标签: javascript dojo

我正在通过div点击事件从javascript函数创建新的选择框。

当用户点击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问题(即如果我创建一个常规选择,我可以在我创建一个新的时候更改所有选择的选定值选择)。

我很难过......有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试强制启用它。 在你的功能中的某些词语

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
}