Chciałbym, aby po wybraniu wartości z pierwszej listy (ubrania, buty itp.) dwie następne uzupełniały się odpowiednimi kategoriami i producentami (buty np. zimowe, letnie; ubrania np. spodnie, bluzy). Poniżej kod generowany przez php. Jeśli usunę pętlę generującą elementy tablicy prod i prod_id, to pierwsza lista wypełnia się kategoriami, w drugą stronę to nie działa. Coś jest nie tak, czego nie dostrzegłem?
function zamianau(kat) {
var cat1 = new Array();
var cat_id1 = new Array();
cat1[0] = 'Enduro';
cat_id1[0] = 8;
cat1[1] = 'Integralny';
cat_id1[1] = 6;
cat1[2] = 'Okulary i szyby';
cat_id1[2] = 9;
cat1[3] = 'Otwarty';
cat_id1[3] = 7;
cat1[4] = 'Otwierany';
cat_id1[4] = 5;
cat1[5] = 'Pozosta?e';
cat_id1[5] = 10;
var prod1 = new Array();
var prod_id1 = new Array();
prod1[0] = 'AGV';
prod_id1[0] = 1;
prod1[1] = 'Airoh';
prod_id1[1] = 2;
prod1[2] = 'Alpina';
prod_id1[2] = 3;
prod1[3] = 'Apache';
prod_id1[3] = 4;
prod1[4] = 'Arai';
prod_id1[4] = 5;
prod1[5] = 'Aviator';
prod_id1[5] = 6;
(...)
prod1[74] = 'WSGG';
prod_id1[74] = 74;
prod1[75] = 'Wulf';
prod_id1[75] = 75;
prod1[76] = 'X Speed';
prod_id1[76] = 78;
prod1[77] = 'X-Lite';
prod_id1[77] = 77;
prod1[78] = 'X1';
prod_id1[78] = 76;
prod1[79] = 'Zeal';
prod_id1[79] = 79;
if (kat == 1) {
var dlugosc = cat1.length-1;
document.add.elements.catb.options.length = cat1.length;
for (var i=0; i <= dlugosc; i++) {
document.add.catb.options[i] = new Option(cat1[i]);
document.add.catb.options[i].value = cat_id1[i];
}
var dlugosc = prod1.length-1;
document.add.elements.producent.options.length = prod1.length;
for (var i=0; i <= dlugosc; i++) {
document.add.producent.options[i] = new Option(prod1[i]);
document.add.producent.options[i].value = prod_id1[i];
}
}
Doszedłem, że tablice prod i prod_id mogą mieć maksymalnie 26 elementów. Czemu? (znaczy wygenerowanych w pętli może być 26 elementów, jak na sztywno dodam jeszcze kilka to też jest ok)
Ten post edytował KCG 11.02.2008, 23:42:53