3

我正在使用 Dojo 1.8 动态创建一组复选框。创建复选框后,我还设置了复选框的标签,但该标签在网站上不可见,尽管我在 Firebug 中查看 HTML 时可以看到它。任何想法我做错了什么?在这一点上,我已经查看了太多代码,无法弄清楚它是什么。谢谢!

var checkboxContainer = dom.byId('divLayers');
var chkboxId = 'chk' + layer.id;
var chkbox = new dijit.form.CheckBox({
    id: chkboxId,
    checked: layer.visible,
    onClick: lang.hitch(this, this.toggleLayerVisibility)
});
chkbox.placeAt(checkboxContainer);
chkbox.domNode.appendChild(domConstruct.create('label', { 'for': chkboxId, innerHTML: layer.name }));
4

1 回答 1

2

我发誓,我可以花几个小时试图弄清楚一些事情,然后在我把它发布到网上让所有人看到的那一刻,我就解决了我自己的问题。摇头

解决方案如下。

var chkboxId = 'chk' + layer.id;
var chkbox = new dijit.form.CheckBox({
    id: chkboxId,
    checked: layer.visible,
    onClick: lang.hitch(this, this.toggleLayerVisibility)
});
chkbox.placeAt(checkboxContainer);
var lbl = domConstruct.create('label', {
    'for': chkboxId,
    'innerHTML': layer.name
});
checkboxContainer.appendChild(lbl);
于 2013-01-18T20:46:11.050 回答