Witam, mam formularz składający się z m.in. trzech list rozwijalnych.
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

  1. <script type="text/javascript">
  2. <!--
  3.  
  4. var lista_ = [];
  5.  
  6. // lista["nazwa opcji"] = new Array(wartości);
  7. lista_["Radeon"] = new Array("Wybierz","Radeon 9","Radeon HD");
  8. lista_["Radeon 9"] = new Array("Wybierz","9000","9100","9200","9250","9500","9550","9600");
  9. lista_["Radeon HD"] = new Array("Wybierz","HD2400 PRO","HD2400 XT","HD2400","HD2600 PRO");
  10.  
  11. lista_["Geforce"] = new Array("Wybierz","Geforce 6","Geforce 7","Geforce 8");
  12. lista_["Geforce 6"] = new Array("Wybierz","6100","6150","6200","6500","6600 GT","6600","6800","6800 GT","6800 Ultra","6800 XT","6800 GS");
  13. lista_["Geforce 7"] = new Array("Wybierz","7100 GS","7150M","7200 GS","7300 GS");
  14. lista_["Geforce 8"] = new Array("Wybierz","8400 GS","8400M","8500 GE","8500 GT");
  15. // funkcja zwracająca ID
  16. function $(id_) { return document.getElementById(id_); }
  17. function ustawCombo_() {
  18. nr = $('combo1_').value;
  19. $('combo2_').options.length=0;
  20. for (i=0; i<lista_[nr].length; i++) {
  21. $('combo2_')[i] = new Option ( lista_[nr][i] );
  22. }
  23. $('combo2_').style.display = "block";
  24. }
  25.  
  26. function ustawCombo2_() {
  27. nr2 = $('combo2_').value;
  28. $('combo3_').options.length=0;
  29. for (i=0; i<lista_[nr2].length; i++) {
  30. $('combo3_')[i] = new Option ( lista_[nr2][i] );
  31. }
  32. $('combo3_').style.display = "block";
  33. }
  34. //-->
  35. </script>
  36.  
  37. <tr>
  38. <td class="filtry_opis">Karta grafiki</td>
  39. <td>
  40. <select name="GFX1" id="combo1_" onchange="ustawCombo_()" >
  41. <option value="">Wybierz</option>
  42. <option value="Radeon">ATI</option>
  43. <option value="Geforce">nVidia</option>
  44. </select></td>
  45.  
  46. <td><select name="GFX2" id="combo2_" onchange="ustawCombo2_()" style="display: none;">
  47. </select></td>
  48.  
  49. <td><select name="GFX3" id="combo3_" style="display: none;" >
  50. </select></td>
  51. </tr>
  52.  
  53.  
  54.