Dojo dijit.form.select:创建新的选择小部件后,不能更改旧小部件的选定值

Dojo dijit.form.select: selected value of old widget cannot be changed after I create a new select widget

本文关键字:小部 不能 创建 form 选择 dijit Dojo select      更新时间:2023-09-26

我正在创建一个新的选择框从一个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>

然后我调用一个函数来放大上面的select:

function makeDojoWidget(digitID){
    var widget = new dijit.form.Select({},digitID); //options,elementID
}

它可以很好地创建小部件。当用户单击另一个div时,它将创建另一个选择框。但是,只有新select是可编辑的。也就是说,我不能改变其他选择框的选择值。

它工作得很好,当我不尝试渲染它作为一个dijit,所以它似乎是一个dojo问题(即,如果我创建一个常规选择,我可以改变所有选择的选择值,当我做一个新的选择)。

我难住了……有什么建议吗? ?

尝试强制启用它。在你的功能中

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
}