如何在tablecontainer中设置标题并删除dijit.form.select

时间:2014-03-27 14:48:17

标签: dojo

我正在创建一个表容器,我要添加选择小部件,

var layout1 = new dojox.layout.TableContainer({
            showLabels: true,
            orientation: "horiz",
            cols : 2, 
            spacing: 5,
            style: "border: solid 1px LightBlue;",
            customClass : "tableContainer"
});

layout.placeAt(divContentNode);

以下是我的选择小部件:

var ran = new dijit.form.Select(
    {
        id :"srz102" ,
        name : "ZEND100",
        title : "VAPORTforVA",
        maxHeight : '100',
        style:"width: 150px",
        required:true,
        options:v4
    }
);

layout1.addChild(ran);

但是由于这个我没有获得精选小部件的标题,所以我添加了

layout1.layout();

显示选择小部件的标题

现在,当我试图销毁选择小部件时,我无法删除标题

dijit.byId("srz102").destroyRecursive();

1 个答案:

答案 0 :(得分:0)

我猜你试图抓住选择节点并销毁。这就是为什么你的标题没有正确删除的原因。相反,你应该尝试捕捉它的父母,然后尝试摧毁孩子

如果您使用的是dojo 1.7 +(AMD),则可以使用:

    require(["dojo/dom-construct"], function(domConstruct){
      // Destroy a node byId:
      domConstruct.destroy("id");
    })

对于递归删除,您可以使用:

dojo.query("id").forEach(dojo.destroy);

但是,您需要遍历父dom节点并删除它们中的每一个。

只是FYI dojo.query对于获取不限于id的任何节点非常有用,你可以通过下面的css类来保持

dojo.query(".cssClass")

进一步参考:http://dojotoolkit.org/reference-guide/1.7/dojo/destroy.html