Dojo 如何使用javascript检查dijit复选框

Dojo 如何使用javascript检查dijit复选框,dojo,dijit.form,Dojo,Dijit.form,我正在使用一个非常古老的代码库。它使用的是旧版本的dijit,所以我很难找到如何做我需要做的事情 模态上有一个dijitcheckbox,它使用aria pressed而不是checked,当用户在别处选择值时,我需要选中此框,但我无法选中该框 有点取决于dojo版本有多旧 通常你可以这样做 var w = dijit.byId(myWidgetId); // or var w = dijit.byNode(checkboxDomNode); w.set('checked', true); 对

我正在使用一个非常古老的代码库。它使用的是旧版本的dijit,所以我很难找到如何做我需要做的事情


模态上有一个dijitcheckbox,它使用
aria pressed
而不是
checked
,当用户在别处选择值时,我需要选中此框,但我无法选中该框

有点取决于dojo版本有多旧

通常你可以这样做

var w = dijit.byId(myWidgetId);
// or var w = dijit.byNode(checkboxDomNode);
w.set('checked', true);
对于dojo 1.3,您需要使用更具体的函数:

w.setChecked(true)
按下的aria应该是screenreader的一个附加属性,将有一个隐藏的“real”复选框被选中


顺便说一句,DojoAPI文档甚至有v1.3的条目:

我尝试过这个,问题是我需要选中visible框。按原样,复选框保持为空,然后当您将鼠标悬停在复选框上时,它将进行检查。我需要它检查一旦选择的选项,而不是当用户鼠标在它上面。其他一切都可以正常工作,只需要进行可视检查。通常(tm)widget.set(property,value)方法会根据值更改可视表示。如果dojo版本<1.5,您可以改为尝试w.attr(属性,值)。但是可能有一些奇怪的副作用,因为您处于模式对话框(?)-您还可以尝试在带有复选框的布局小部件上强制运行一个新的布局(layoutthingie.layout()或lt.\u layoutChildren())它是版本1.3.3,w.attr(atribute,value)不起作用,因为我不确定要检查的属性是否未定义。这是我第一次看到。Zend 1.8使用的是这个版本的digit,所以我不确定如何处理layoutChildren之类的问题,或者它是否适用。