Producent karty graficznej | Grupa modeli | Model
Na początku widoczna jest tylko pierwsza lista, a gdy wybierze się jakąś wartość, to wtedy pokazuje się druga lista, a gdy z niej wybierze się jakąś wartość, to pokazuje się trzecia lista.
Na FF i Operze wszystko działa idealnie, niestety na IE8, po rozwinięciu drugiej listy nic się nie dzieje. Sprawdziłem to i wychodzi, że IE zwraca błąd przy rozwijaniu list:
Message: 'lista_[...].length' is null or not an object
Nie mam pojęcia o co chodzi, bardzo proszę o pomoc, poniżej skrypt
<script type="text/javascript"> <!-- var lista_ = []; // lista["nazwa opcji"] = new Array(wartości); lista_["Geforce 6"] = new Array("Wybierz","6100","6150","6200","6500","6600 GT","6600","6800","6800 GT","6800 Ultra","6800 XT","6800 GS"); // funkcja zwracająca ID function $(id_) { return document.getElementById(id_); } function ustawCombo_() { nr = $('combo1_').value; $('combo2_').options.length=0; for (i=0; i<lista_[nr].length; i++) { $('combo2_')[i] = new Option ( lista_[nr][i] ); } $('combo2_').style.display = "block"; } function ustawCombo2_() { nr2 = $('combo2_').value; $('combo3_').options.length=0; for (i=0; i<lista_[nr2].length; i++) { $('combo3_')[i] = new Option ( lista_[nr2][i] ); } $('combo3_').style.display = "block"; } //--> </script> <tr> <td class="filtry_opis">Karta grafiki</td> <td> <select name="GFX1" id="combo1_" onchange="ustawCombo_()" > <option value="">Wybierz</option> <option value="Radeon">ATI</option> <option value="Geforce">nVidia</option> </select></td> <td><select name="GFX2" id="combo2_" onchange="ustawCombo2_()" style="display: none;"> </select></td> <td><select name="GFX3" id="combo3_" style="display: none;" > </select></td> </tr>