Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX]Podwójny dropdown - problem
Piotrbaz
post
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 (IMG:style_emoticons/default/wstydnis.gif)

Ten post edytował Piotrbaz 15.09.2012, 19:45:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Piotrbaz
post
Post #2





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 (IMG:style_emoticons/default/tongue.gif)

Ten post edytował Piotrbaz 19.09.2012, 13:34:55
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 15:52