Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][MySQL][PHP]Podwójna lista rozwijana nie działa przy wyborze pierwszego
Forum PHP.pl > Forum > Przedszkole
Stron: 1, 2
nospor
Cytat
ReferenceError: val is not defined


data: "Marka_ID="+val,
Naprawde my to mamy sprawdzac za ciebie poraz kolejny? NIe, ten kod nie jest poprawny. Mowi ci o tym wyraznie komunikat bledu
timeo
Ok. Zrobiłem tak jak mówiliście i niestety nie pojawiają się marki. W konsoli nie widzę żadnych błędów chyba że jest inna konsola niż ta wyświetlana F12.
(Pewnie macie mnie dość facepalmxd.gif )
  1. <?php include('../configbase.php');
  2. ini_set('display_errors',1);
  3. ?>
  4. <!Doctype html>
  5. <html>
  6. <head>
  7. <title></title>
  8. <script src="//code.jquery.com/jquery-3.1.1.min.js"></script>
  9. <script>
  10. function getId(val){
  11.  
  12. $.ajax({
  13. type: "POST",
  14. url: "getdata.php",
  15. data: "Marka_ID=",
  16. success: function(data){
  17. $('#listamodeli').html(data);
  18. }
  19.  
  20. });
  21. }
  22. $('select[name="marka"]').on('change', function(e) {
  23. getId(this.value);
  24. });
  25.  
  26. </script>
  27. </head>
  28. <body>
  29. <label>Marka</label>
  30. <select name="marka">
  31. <option value=""> Wybierz Markę</option>
  32. <?php
  33. $result = $db->query('SELECT * FROM Marki');
  34. // $result ->execute();
  35. //
  36. $key = $result->fetchAll(PDO::FETCH_ASSOC);
  37.  
  38. foreach ($key as $marki)
  39. {
  40. ?>
  41. <option value="<?php echo $marki["Marka_ID"]; ?>"><?php echo $marki["Marka"];?> </option>
  42. <?php
  43. }
  44. ?>
  45. </select>
  46.  
  47. <label>Model</label>
  48. <select name="model" id="listamodeli">
  49. <option value=""></option></select>
  50.  
  51.  
  52. </body>
  53. </html>
kapslokk
1.
[JAVASCRIPT] pobierz, plaintext
  1. $('select[name="marka"]').on('change', function(e) {
  2. getId(this.value);
  3. });
[JAVASCRIPT] pobierz, plaintext

Wsadz w $(function(){});
Czyli

[JAVASCRIPT] pobierz, plaintext
  1. $(function(){
  2. $('select[name="marka"]').on('change', function(e) {
  3. getId(this.value);
  4. });
  5. });
[JAVASCRIPT] pobierz, plaintext


Bo przy załadowaniu strony jeszcze nie masz selecta, a juz probujesz do niego przypisac event.


2.
[JAVASCRIPT] pobierz, plaintext
  1. data: "Marka_ID=",
[JAVASCRIPT] pobierz, plaintext


Chyba by wypadalo tutaj wstawic id, prawda?
viking
Miałeś już poprawnie ale strasznie chcesz nas chyba zirytować. Cofnij się do http://forum.php.pl/index.php?s=&showt...t&p=1201912 i zastosuj. DOM nie jest gotowy przed operacją na nim.
timeo
Poprawiłem. Działa.
Teraz zabieram się za resztę poprawek.
Panowie - przepraszam, uczę się jeszcze a nie zawsze wszystko można umieć jak się w tym zaczyna.

  1. <script src="//code.jquery.com/jquery-3.1.1.min.js"></script>
  2. <script>
  3. function getId(val){
  4.  
  5. $.ajax({
  6. type: "POST",
  7. url: "getdata.php",
  8. data: "Marka_ID="+val,
  9. success: function(data){
  10. $('#listamodeli').html(data);
  11. }
  12.  
  13. });
  14. }
  15. $(function(){
  16. $('select[name="marka"]').on('change', function(e) {
  17. getId(this.value);
  18. });
  19. });
  20. </script>
nospor
Cytat
a nie zawsze wszystko można umieć jak się w tym zaczyna.
Nikt do ciebie nie ma pretensji ze czegos nie umiesz.
To co nas drazni to fakt, ze nie czytac co sie do ciebie pisze i nie sprawdzasz konsoli bledow.
timeo
A wiecie co oznacza? Pokazywało mi to wcześniej. Czego szukać w JS czy w kodzie PHP?
  1. Uncaught SyntaxError: Unexpected token <


Panowie to Wy mi pokazaliście konsolę błędów i obiecuję, że będę z niej korzystał.
Dziękuję za pomoc.
viking
Konsola pokaże ci błędy JS. Jeśli jakieś są (bo np. włączyłeś wyświetlanie błędów jak w tym wyjątku PDO) widzoczne będą w odpowiedzi. Tu ci zresztą brakuje obsługi błędów, jest success tylko.

Uprzedzając pytanie: https://api.jquery.com/deferred.fail/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.