无法从对话框中更改标题

时间:2016-02-10 12:58:47

标签: javascript dojo dijit.form

我无法从此对话框中更改标题:

var myDialog = dijit.byId('myDialog_'
                     + self["index"]);

            if (!myDialog) {

                //setting date for the dialog

                endTime = new Date();
                var endDate = endTime.customFormat("#DD#.#MM#.#YYYY#");
                startTime = new Date(endTime.getTime() - (endTime.getHours() * 3600000) - (endTime.getMinutes() * 60000) - (endTime.getSeconds() * 1000) - 518400000); //one week
                var startDate = startTime.customFormat("#DD#.#MM#.#YYYY#");

                myDialog = new dijit.Dialog({
                        id : 'myDialog_' + self["index"],
                        title : 'Chart ' + _params.chartTitle
                         + " vom " + startDate + " bis "
                         + endDate,
                        style : 'width:820px;height:500px;'
                    });
                //destroy objects after closing the dialog
                myDialog.connect(myDialog, "hide", function (e) {
                    myDialog.destroy();
                    //graph.destroy();
                    dojo.destroy(trafficLight);
                    dijit.byId("selectVK_" + self["index"]).destroy();
                    dijit.byId("selectTime_" + self["index"]).destroy();
                });
            }

我试过了:

dojo.byId('myDialog_' + self["index"]).title ="test";

但没有发生任何事......我试过这个:

dojo.byId("myDialog_" + self["index"]).set( 'title', "huhu");
myDialog.set( 'title', "huhu");
dojo.byId(myDialog).set( 'title', "huhu");

我总是得到错误,那个set()不是函数... 有什么建议吗?

2 个答案:

答案 0 :(得分:0)

你必须得到dijit来设置标题

dijit.byId("myDlg").set("title", "new title");

dijit.registry.byId("myDlg").set("title", "new title");

小提琴:http://jsfiddle.net/QWEzC/160/

答案 1 :(得分:0)

您也可以使用对话框实例:



myDialog.set("title", "new title");