/ / dijit.TitlePane: Expand / Collapse All - dojo, expand, collapse

dijit.TitlePane: Expand / Collapse All - dojo, expand, collapse

Ho più riquadri del titolo:

<div class="classname" data-dojo-props="title: "Title Here", open: false" data-dojo-type="dijit.TitlePane">..</div>

In questo momento ho scritto questo

<a onclick="dojo.forEach(dijit.registry.toArray(), function(item){  if (item.get("declaredClass")=="dijit.TitlePane"){item.set("open",true)};});">Expand All </a>
<a onclick="dojo.forEach(dijit.registry.toArray(), function(item){  if (item.get("declaredClass")=="dijit.TitlePane"){item.set("open",false)};});">Collapse All</a>

questo apre e chiude con successo tutto il titoloriquadri, ma c'è un altro riquadro del titolo usato nella pagina che non voglio influenzare da questo. Ho provato a usare dojo.query (". classname"). attr ("apri", falso); ma ciò non funzionava .

Non ho esperienza con dojo / dijits, come posso impostare open true o false sulla base di un attributo di classe? Qualsiasi aiuto sarebbe molto apprezzato.

risposte:

2 per risposta № 1

Hai bisogno del widget per fare questo non l'oggetto dom, e questo è ciò che ti sta dando l'oggetto dom.

dojo.query(".classname").forEach(function(node){
dijit.getEnclosingWidget(node).set("open",false);

})