2014-12-15 9 views
7

Come posso creare una tabella con campi di input in Meteor. Ho usato l'esempio da http://autoform.meteor.com/update-each ma usano solo 1 campo di input.Tabella modificabile con AutoForm in Meteor

La funzionalità funziona con questo codice:

<tbody> 
    {{#each persons}} 
     {{#autoForm id=makeUniqueID type="update" collection=Collections.Persons doc=this autosave=true}} 
     <tr> 
     <td>{{> afFieldInput name="fullName" label=false}}</td> 
     <td>{{> afFieldInput name="email" label=false}}</td> 
     <td>{{> afFieldInput name="address" label=false}}</td> 
     <td><button type="submit" class="btn btn-xs btn-danger">Delete</button></td> 
     </tr> 
     {{/autoForm}} 
    {{/each}} 
    </tbody> 

ma ha creato un elemento <form> attorno ad ogni <tr> e si avvita in sul mio html. Qual è il modo corretto per farlo?

+0

Una forma di una tabella non è un HTML valido. Il modulo dovrebbe avvolgere il tavolo o dovrebbe trovarsi all'interno di un ''. Maggiori informazioni qui: http://stackoverflow.com/questions/14576976/where-are-the-form-elements-allowed-within-a-table-element –

+0

Ma '{{#autoForm id = makeUniqueID type =" aggiorna "la raccolta = Collections.Persons doc = this autosave = true}} 'deve essere all'interno di my per ogni ciclo. Quindi non so cosa fare. – Jamgreen

+1

È possibile utilizzare div anziché la tabella e simulare il layout della tabella. http://stackoverflow.com/questions/11049149/how-to-achieve-table-layout-without-using-tables –

risposta

1

Usa div s con i CSS:

<div class="table"> 
    {{#each persons}} 
    {{autoform class="tr"}} 
     <div class="td">{{> afQuickField}}</div> 
     <div class="td">{{> afQuickField}}</div> 
     <div class="td">{{> afQuickField}}</div> 
    {{/autoform}} 
    {{/each}} 
</div> 

E lo stile come tale:

.table { 
    display: table; 
} 

.tr { 
    display: table-row; 
} 

.td { 
    display: table-cell 
}