![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 2 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Problem zapewne jest banalny.
w3schools.com ma na swojej stronie gotowca: http://www.w3schools.com/PHP/php_ajax_database.asp CODE <html> <head> <script type="text/javascript"> function showUser(str) { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getuser.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <form> <select name="users" onchange="showUser(this.value)"> <option value="">Select a person:</option> <option value="1">Peter Griffin</option> <option value="2">Lois Griffin</option> <option value="3">Glenn Quagmire</option> <option value="4">Joseph Swanson</option> </select> </form> <br /> <div id="txtHint"><b>Person info will be listed here.</b></div> </body> </html> Skrypt pobiera wartość z select i ładuje getuser.php z odpowiednim parametrem. Pragnę uzyskać taki sam efekt, ale z dwoma listami select z zastrzeżeniem, że załądowanie do DIV nastąpi po wybraniu dopiero drugiej wartości (z drugiego selecta). Co należy zmienić ? (oprócz oczywistych zmian w pliku php, dodania drugiego selecta i dodaniu drugiego argumentu w funkcji ShowUser.) Próbówalem robić "na czuja", ale niestety bez znajomości JS nie zawalczę sam. Jednak to nie to samo co PHP ![]() Ten post edytował Piotrbaz 15.09.2012, 19:45:36 -------------------- $piotrbaz->get_Signature();
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 324 Pomógł: 110 Dołączył: 18.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chcesz zrobić dwa zależne selekty i po wybraniu danych z drugiego będzie dopiero ładować jakieś dane? Czy te dane mają być ładowane z MySQL czy z jakiejś tablicy z php i czy to może być napisane w jQuery a nie w czystym js. Jak tak to chętnie napiszę i wstawię rozwiązanie.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 2 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dokladnie, najpierw wybieram pierwszy, potem drugi i dopiero ładuję dane. Wartości pobierane są z bazy danych MySQL, połączenie i odpowiednie zapytania są zdefiniowane w odpowiednich klasach. Teraz tylko kwestia pobrania tych dwóch wartości z selectow i przekazania ich do funkcji php bez przeladowania strony ofc. Gotowiec z w3schools po prostu wydawał mi się najprostszy jaki może być, dlatego chciałem akurat ten zmodyfikować. Oczywiście może być jQuery.
P.S. Na forum w3schools założyłem podobny temat i poradził ktoś, żeby wpisać w selecty jakieś "id", a następnie w funkcji zdefiniować dwie zmienne w stylu: var user = document.getElementById("users").value; Tak czy siak nie chodzi. Link do tematu: http://w3schools.invisionzone.com/index.php?showtopic=45098 ![]() Ten post edytował Piotrbaz 19.09.2012, 13:34:55 -------------------- $piotrbaz->get_Signature();
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 324 Pomógł: 110 Dołączył: 18.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Napisany gotowiec na tablicach bo zaraz będzie szef w pracy i nie chce mi się robić tabelek i zapytań do MySql
![]() ![]() ![]() Plik pierwszy (u mnie o nazwie selecty.php).
Plik drugi (u mnie o nazwie post.php)
Całość spakowana tutaj ![]() Ten post edytował Arcioch 20.09.2012, 14:36:13 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.06.2025 - 08:48 |