Per un oggetto ha più attributi, per esempio, una scarpa può avere differente color
, size
eccvista Dynamical secondo i dati
Ora, quando abbiamo provato a visualizzare la scarpa, e rendere il cliente può scegliere diversi attributi , usiamo la radio (la più semplice): https://jsfiddle.net/mwqy6217/
Ma come rendere la disponibilità della vista in base ai dati?
Ad esempio, quando le scarpe rosse sono esaurite, la radio red
deve essere deselezionata. Quindi sono diverse dimensioni.
Possiamo utilizzare questa struttura dati per rappresentare la scarpa: {shoe:{name:'',available:['red','black','40','41']}}
.
Tuttavia, diversi attributi possono avere una relazione reciproca, ad esempio, le scarpe rosse con 40 dimensioni sono state esaurite, mentre le scarpe nere con 40 non lo sono. Credo che questa struttura dati:
{shoe:{name:'',available:{color:{red:[40,41,42]},black:[42,43]}}}
Come la scarpa può avere altri attributi come 'peso', e un attributi possono avere 10+ opzioni.
Quindi, come rappresentare questo tipo di relazione nel database e renderli leggibili dal front engineer per creare la vista?
Aggiornamento:
https://jsfiddle.net/xqtgqzt2/
vedere la demo dal vivo, tutte le opzioni disponibili è pre-definita come:
var options= [
["A1","B1","C1","D1"],
["A1","B3","D2"],
["A2","B1","C3","D2"]
];
Ora come rendere lo stato pulsante cambiato in base alle opzioni ? Ad esempio, se A1 è selezionato, solo B1 B3 può essere controllato (abilitato), se A1 B1 è selezionato, solo C1 D1 può essere controllato.
Con l'array di opzioni, cosa significa? Qualcosa come: se seleziono l'opzione A1, il sarà solo in grado di selezionare B1 => C1 => D1 o B3 => D2 o qualcos'altro? –
Sì, vedere il mio aggiornamento. – hguser
quindi anche la selezione del livello precedente, sarà un filtro per la selezione futura, significa che se A1 - B1 è selezionato, l'utente può selezionare solo C1 - D1, anche se da B1 anche C3 - D2 può essere selezionato, otterrà più limitato tra i livelli? –