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 に答える