2009-06-24 2 views
6
  • Come si specifica la scheda selezionata all'avvio?
  • Come si selezionano le schede a livello di programmazione?

risposta

2

È possibile specificare la scheda da visualizzare all'avvio con l'attributo selezionato.

new dijit.layout.ContentPane({title: "My Tab Title", 
content: dojo.byId("MyContent"),selected:true}); 

Dopo l'avvio TabContainer, è possibile utilizzare selectChild con l'id o il riferimento al widget. Si noti che chiamare selectChild prima dell'avvio di TabContainer genera un errore.

8

HTML: utilizzare l'attributo selezionato.

<div id="tabContainer" dojoType="dijit.layout.TabContainer" 
    tabStrip="true" style="width: 100%; height: 20em;"> 
    <div id="tab1" dojoType="dijit.layout.ContentPane" title="Tab 1">Tab 1</div> 
    <div id="tab2" dojoType="dijit.layout.ContentPane" title="Tab 2" 
     selected="true">Selected tab 2</div> 
</div> 

JavaScript - Uso selectChild metodo su widget di TabContainer.

var cp = new dijit.layout.ContentPane({ 
        title: 'Tab title',      
        content: 'Selected tab...' 
        }); 
var tc = dijit.byId("tabContainer"); 
tc.addChild(cp); 
tc.selectChild(cp); 

Puoi trovare altri esempi qui: TabContainer Demo

ATTENZIONE !!! Questa demo proviene dalla compilazione notturna. Non tutte le funzionalità sono incluse nella versione 1.3.2.

+1

Questa risposta è incompleta. Descrivi come impostare le schede selezionate all'avvio, ma il poster ha anche chiesto come cambiare le schede a livello di codice. La soluzione è alquanto strana in quanto ** selectChild() ** richiede un widget, non un numero, quindi è necessario accedere all'oggetto del riquadro del contenuto che si desidera selezionare. Questo è abbastanza facile quando si costruisce il pannello, ma per farlo arbitrariamente in fase di esecuzione, è necessario ottenere prima il figlio che si desidera, quindi dire al tabContainer di selezionarlo. Ho aggiunto questo alla tua risposta. – Alaska