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).




Codice PHP:
for (var 0combinazioni.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]);
 } 
}
}


In questo modo però ottengo anche delle opzioni non compatibili.