Witam,
Jakiś czas temu pisałem o tym jak zrobić żeby wybierając z combo jakąś opcję, drugie combo sczytywało odpowiednie dane z bazy - na zasadzie model i marka samochodu. Ściągnąłem skrypt, przerobiłem i działa... Tyle, że sprawdzałem to na Firefoxie :/ Na IE 7 wybierając opcję z pierwszego combo z drugiego nic nie pobiera.

Strona:
  1. <Marka:<select name="marka" id="marka" onchange="ajaxFunction()">
  2. <? $wynik=mysql_query("SELECT * FROM marka ORDER BY nazwa ASC");
  3. while ($row=mysql_fetch_array($wynik)) {
  4. echo "<option value='".$row['id']."'>".$row['nazwa']."</option>";
  5. } ?>
  6. </select>
  7.  
  8. Model:<select name='model' id="ajax"></select>

Pobieranie rekodów z bazy:
  1. require("../config.php");
  2.  
  3. $marka = $_GET['marka'];
  4.  
  5. $query = "SELECT * FROM model WHERE marka = '$marka' ORDER BY nazwa ASC";
  6. $wynik = @mysql_query($query);
  7. while($row = mysql_fetch_array($wynik)) {
  8. echo "<option value=".$row['id'].">".$row['nazwa']."</option>";
  9. }


Skrypt jquery/ajax:
  1. function ajaxFunction(){
  2.  
  3. var ajaxRequest;
  4.  
  5. try{
  6. // Opera 8.0+, Firefox, Safari
  7. ajaxRequest = new XMLHttpRequest();
  8. } catch (e){
  9. // Internet Explorer Browsers
  10. try{
  11. ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
  12. } catch (e) {
  13.  
  14. try{
  15. ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
  16. } catch (e){
  17. // Something went wrong
  18. alert("Błąd! Musisz zaktualizować przeglądarkę!");
  19. return false;
  20. }
  21. }
  22. }
  23.  
  24. // Receive Data Function
  25. ajaxRequest.onreadystatechange = function(){
  26.  
  27. if(ajaxRequest.readyState == 4){
  28. var ajaxDisplay = document.getElementById('ajax');
  29. ajaxDisplay.innerHTML = ajaxRequest.responseText;
  30. }
  31.  
  32. }
  33.  
  34. var marka = document.getElementById('marka').value;
  35.  
  36. var queryString = "?marka=" + marka;
  37. ajaxRequest.open("GET", "modele.php" + queryString, true);
  38. ajaxRequest.send(null);
  39. }


Pomóżcie winksmiley.jpg
Pozdrawiam