W formularzu mam dwie <select> listy (FirstStage i SecondStage). W każdej z nich są różne wartości, ale należą one, do dwóch kategorii (A i B, zarówno w jednej i drugiej liście są wartości z kat. A i B)
Chcę, aby po wybraniu jednej z wartości w FirstStage (przykładowo wybieram value-A-1), w SecondStage pokazały się tylko wartości z danej kategorii (w tym przypadku kategoria A -> wartości np. value-A-1-1, value-A-2-1, itd)
Po wybraniu przez użytkownika wartości z SecondStage i kliknięciu 'submit', chcę je wyświetlić na innej stronie i dodać do bazy danych. Wszystko działa jak wyłącze filtrowanie jQuery, natomiast potencjalny odwiedzający wybierajac wartość z grupy A nadal może wybrać wartość z grupy B. A tak być nie może ;p Z kolei jak włączę skrypt, poprawnie mi filtruje w formularzu, ale wartości z filtrowanej listy nie są przesyłane, nie mogę dodać ich do bazy danych i poprzez echo nie mogę ich wywołać. Jak temu zaradzic? Mam wrażenie, ze muszę to ugryźć z zupełnie innej strony, ale po wertowaniu googla, sam nie umiem do tego dojść

na JS Bin można zobaczyć działanie skryptu JS.
Zamieszczę jeszcze swój kod:
formularz.php
verify.php
JS
jQuery.fn.filterOn = function(selection, values) { return this.each(function() { var select = this; var options = []; $(select).find('option').each(function() { options.push({value: $(this).val(), text: $(this).text()}); }); $(select).data('options', options); $(selection).change(function(){ $(selection + " option:selected").each(function(){ var options = $(select).empty().data('options'); var haystack = values[$(this).attr('id')]; $.each(options, function(i){ var option = options[i]; if($.inArray(option.value, haystack) !== -1) { $(select).append( $('<option>').text(option.text).val(option.value) ); } }); }); }); }); }; $(document).ready(function(){ $(function() { $('#SecondStage').filterOn('#FirstStage', { 'A': ['value-A-aaa','value-A-bbb','value-ccc','value-A-ddd','value-A-eee','z'], 'B': ['value-B-xxx','value-B-yyy','value-B-zzz','0'] }); return true; }); });
Edit:
heh, doszedłem juz do tego, że winowajcą jest "var options = $(select).empty().data('options');". Super, tylko teraz jak to zmodyfikować, żeby dalej mi filtrowało ;/