Zależny input od selecta!

Dział poświęcony JavaScriptowi - tworzeniu dynamicznym stron WWW.
neytiri
Bywalec
Bywalec
Posty: 33
Dołączył(a): piątek, 2 marca 2012, 01:10

Zależny input od selecta!

Post przez neytiri »

Mam na stronie selecta, w którym podowane są tytuły naukowe. Następnie mam listę osób, których jednym z atrybutu jest tytuł naukowy - dane oczywiście w mysql. Tych osób jest dość dużo, dlatego znalazłam fajną funkcję z autopodpowiedzią i ją dołączyłam.
Problem jest w tym, że chciałabym dołączyć jako zmienną przekazywaną w url - daną odnośnie wybranego tytułu naukowego, tak aby podpowiedzi operowały już tylko na wybranych osobach, czyli ich tytuł naukowy >= podanemu tytułowi.

Zrobiłam sobie tak.

Code: Zaznacz cały

pod_tyt=$("select#stopnie").val(); 

$("select#stopnie").change(function() {
pod_tyt=$(this).val();
});

//autopodpowiedź
$("#osoba").change(function
(){}).
coolautosuggest({

	  url:"ajax.php?akcja=pokaz_osoby&tyt="+pod_tyt+"&chars=",    // a tutaj dane jest błędnie zwrcana - pokazuje pierwotne ustawienie selecta- czyli 0
	  submitOnSelect:false,
	  onSelected:function(result)
	  { 

		if(result!=null){
		   
			nr_tytul=result.thumbnail;
			alert(pod_tyt);   // tu wywietla prawidłowo mi wybrany tytuł
			nr_podany_tyt=$("#stopnie :selected").val();

			id=result.id; // Get the ID field
			name=result.data; //odczytuje nazwisko i imię osoby
			
			var str = '<tr id="lista'+id+'">';
			str+= '<td id="lista'+id+'"><span class="lista">'+name+'</span><span class="nr" style="display:none;">'+id+';</span></td>';
			str+= '<td  id="lista'+id+'"><div class="ui-icon ui-icon-trash par" style="width:14px;" id= "usun_eksperta" "></div></td>';
			str+= '</tr>';
			$('#osoba_lista').append(str);
			$("#osoba").val("");
			}
			else{
			  $("#osoba_id").val(""); // Empty the ID field
			  //$("#osoba_name").val(""); // Empty
			}
			
	  }
	  
});

Zastanawiałam się,czy nie trzeba zrobić jakiegoś łancuchowego wywołania, ale chyba tego nie można robić na różnych tagach. Jak coś trzeba bardziej wytłumaczyć to napiszcie, bo rzeczywiście mam problem z opisywaniem moich problemów.

A gdyby ktoś chciał zerknąć na funkcję z autopodpowiedzią : http://w3shaman.com/article/jquery-cool-auto-suggest.
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Zależny input od selecta!

Post przez Morfidon »

Przecież masz coś podobnego zrobionego w kursie AJAX.
Lekcja 6 - suggestBox - wstęp - 15 min i 56 s
Przygotowujemy nasz formularz, który ma być przyszłym suggestBox'em. Analizujemy naszą bazę danych w pliku XML, tworzymy formularz, ustawiamy dla niego wygląd w CSS. Przygotowujemy ramkę do wyświetlania podpowiedzi, sprawiamy, aby dostosowywała swoją pozycję dynamicznie.
2,77 zł Lekcja 7 - suggestBox - obsługa myszki - 20 min i 47 s
Tworzymy dynamicznie zmieniającą zawartość "pudełka", które jako wartości sugeruje / podpowiada naszemu użytkownikowi to co miał na myśli po wpisaniu literki lub też części słowa. Sprawiamy, aby po najechaniu myszki nad wybrany rekord, zmieniało się tło, a po kliknięciu został on wybrany. W razie, gdy podane słowo przez użytkownika nie istnieje, nasza ramka robi się czerwona sygnalizując błąd.
Lekcja 8 - suggestBox - obsługa klawiatury - 19 min i 30 s
Sprawiamy, aby nasz suggestBoX reagował na strzałkę w dół oraz w górę. Możemy poruszać się po stworzonym menu składającym się z podpowiedzi przy pomocy strzałek oraz po wciśnięciu entera zatwierdzić odpowiedni wybór. Naprawiamy wiele ciekawych bugów.
Lekcja 9 - suggestBox - wyświetlanie danych w tabeli - 19 min i 41 s
Uczymy się tworzyć dynamicznie zmieniającą się tabelę w zależności od wybranej wartości z menu podpowiedzi.
Lekcja 10 - suggestBox - z wykorzystaniem PHP i MySql - 17 min i 0 s
Dowiadujemy się co zrobić, jeżeli nasza baza danych przechowywana jest nie w pliku xml, ale w MySql. Uczymy się przetwarzać dane z bazy MySql tak, aby działały w naszym suggestBoxie. Pokazujemy co trzeba zrobić, aby wyświetlały się poprawnie polskie znaki w bazie danych MySql jak i po ich pobraniu w dynamicznie stworzonym pliku XML przy pomocy PHP.
Lekcja 11 - zapowiedź aplikacji filtrującej - 2 min i 53 s
Zapowiadamy w jaki sposób będzie wyglądać nasza aplikacja filtrująca dynamicznie dane z bazy danych. Aplikacja ta będzie reagowała poprawnie na button BACK (cofający historię oglądanych stron) oraz będzie można z dynamicznie stworzonej treści wysłać komuś url, który otworzy odpowiednią treść. Czyli jest to zapowiedź zabawy :)
neytiri napisał(a):Problem jest w tym, że chciałabym dołączyć jako zmienną przekazywaną w url - daną odnośnie wybranego tytułu naukowego, tak aby podpowiedzi operowały już tylko na wybranych osobach, czyli ich tytuł naukowy >= podanemu tytułowi.
Może po prostu po wyborze przez użytkownika odpowiedniej treści wykonaj zwykłe połączenie ajaxowe przy pomocy funkcji ajax(), a w niej przekaż to co zostało wybrane?
neytiri
Bywalec
Bywalec
Posty: 33
Dołączył(a): piątek, 2 marca 2012, 01:10

Re: Zależny input od selecta!

Post przez neytiri »

Ok, nie masz pomysłu , dlaczego ta zmienna jest niepoprawna w tym adresie url? a dalej jest ok?
Post Reply