Salve a tutti, ho un problema complesso, o quantomeno sono talmente fuso da non trovare una soluzione ottimale.
Ho un configuratore di prodotti. A seconda della scelta, le opzioni non disponibili devono essere disabilitate. Il numero di select, opzioni e possibili combinazioni varia da prodotto a prodotto. Le combinazioni possono essere migliaia.
Ho un array con tutte le combinazioni possibili per il prodotto (array di array), chiamiamolo "combinazioni". Voglio ottenere un elenco delle opzioni che rimangono disponibili dopo ogni scelta "allidcomb".
All'evento onchange conosco quale nuova opzione ho selezionato "newsel", quale combinazione è selezionata al momento "scelta" (un array).
In questo modo però ottengo anche delle opzioni non compatibili.Codice PHP:for (var c = 0; c < combinazioni.length; ++c)
{
for (id_c in combinazioni[c])
{
//ie6 bug fix
if (id_c != 'indexOf')
{
//tutti gli id nelle combinazioni con la nuova scelta o comunque gli id presenti nella scelta
if (in_array(newsel,combinazioni[c]) || in_array(combinazioni[c][id_c],scelta))
{
if (!in_array(combinazioni[c][id_c],allidcomb))
{
allidcomb.push(combinazioni[c][id_c]);
}
}
}
}
}

Rispondi quotando