1

我想在 Dojo TabContainer 的标签中放置一个复选框。我在这里找到了一个例子:

http://telliott.net/dojoExamples/dojo-checkboxTabExample.html

但是,该示例仅显示 html。我想以编程方式执行此操作。这是我到目前为止所拥有的:

function(response){
    var json_response = JSON.parse(response);
    var fields_dict = json_response['fields_dict'];
    var names_dict = json_response['names_dict'];
    var tc = new TabContainer({
        style: "height: 495px; width: 100%;",
        tabPosition: "left",
        tabStrip: true
    }, "report_tab_container");
    for(var key in fields_dict) {
        var content_string = '';
        var fields = fields_dict[key];
        for(var field in fields) content_string += '<div>' + fields[field][0] + fields[field][1] + '</div>';
        var checkBox = new CheckBox({
            name: "checkBox",
            value: "agreed",
            checked: false,
            onChange: function(b){ alert('onChange called with parameter = ' + b + ', and widget value = ' + this.get('value') ); }
        }).startup();
        var tcp = new ContentPane({
            //title: names_dict[key],
            title: checkBox,
            content: content_string
        });

        tc.addChild(tcp);
    }

    tc.startup();
    tc.resize();
},

但是,这不起作用。当我加载我的页面时,TabContainer 没有出现。如果我将 ContentPane 的标题设置为我的复选框以外的其他内容,它可以正常工作。

我做错了什么,如何让复选框出现在 TabContainer 标题中?

4

2 回答 2

1

这是有效的:

cb.placeAt('report_tab_container_tablist_dijit_layout_ContentPane_'+ i.toString(), "first");
于 2013-08-30T15:30:52.960 回答
0

我在这里盲目地这样做,但是将链接上的示例与代码进行比较,我想说,在 tc.addChild(tcp) 之前添加:

checkBox.placeAt(tcp.domNode, "first");
于 2013-08-14T21:22:19.483 回答