3

はじめに、1年以上前に質問され、回答されたCheckBoxラベルに関する この別の質問を見たと言います。

私は答えに混乱し、誰かが明確にできること、またはそれ以来、HTMLに頼らずにこれを行うことができる新しいdojo機能が導入されたことを望んでいます。

ですから、これ以上面倒なことはせずに、チェックボックスのラベルをプログラムで作成する方法を知りたいと思います。

私はそのようなチェックボックスを持っています:

        this.pubBoxId = new dijit.form.CheckBox({
            label: "IdChannel",
            checked: false,
            channel: that.idChannel
        }, that.name + "_PBI");

ご覧のとおり、「ラベル」フィールドを編集しようとしましたが、ラベルが実際にページに表示されることはありません。ContentPaneに追加する複数のチェックボックスがあり、チェックボックスの左側または右側にラベルが必要なだけです。別のHTMLを記述せずにこれを行う方法はありますか?

また、個々のラベルごとに個別のContentPaneを作成することは、私が計画しているチェックボックスの数のために大きな苦痛になります。

読んでいただきありがとうございます。さらに詳しい説明が必要な場合はお知らせください。

4

2 に答える 2

5

完璧ではありませんが、その方法の例を次に示します。http: //jsfiddle.net/cBPy4/ 一般に、CheckBoxウィジェットはボックスを表示するだけなので、ラベルを手動で処理する必要があることを覚えておく必要があります...

于 2012-06-22T09:47:47.613 に答える
0

Dojo 1.6 Firefox、Chrome

http://jsfiddle.net/cBPy4/257/

dojo.require("dijit.form.CheckBox");

dojo.ready(function(){    
    // https://bugs.dojotoolkit.org/ticket/11611
    var widgetNode = dojo.doc.createElement("DIV");
    chk = dojo.create("input", {id:"cbox", type:"checkbox"}, widgetNode);
    lbl = dojo.create("label", {innerHTML:"Check me", "for":"cbox"}, widgetNode);
    dojo.style(lbl, "marginLeft", ".5em");

    var cbWidget = new dijit.form.CheckBox({}, chk);
    cbWidget.startup();
    cbWidget.domNode.appendChild(lbl);

    dojo.place(cbWidget.domNode, "container");
});
于 2013-06-13T14:55:51.450 に答える