Я бы создал объект, который содержит различные элементы в массивах.Пример:
var values = {
cat1: ["item1", "item2", ...],
cat2: ["item1", "item2", ...]
}
Всякий раз, когда элемент выбирается из первого select
, найдите это значение с помощью values[selectedValue]
, которое дает вам элементы для другого поля select
.Тогда вам просто нужно сгенерировать HTML для него.