Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax] Zmiana dwóch selectów w zależności od 3-go
Forum PHP.pl > Forum > XML, AJAX > AJAX
artur81
Witam!
Mam formularz do wypełnienia aby dodawać podzespoły komputerowe do zestawów, listy rozwijane budowane są na podstawie danych z bazy. W bazie mam między innymi tabele: zestawy, użytkownicy i dostawcy. W formularzu gdy dodaję nowy podzespół te trzy wartości wybieram z listy.
W momencie definiowania nowego zestawy, wypełniam tam te trzy pola, a chciałbym mieć taką funckjolaność, że po wprowadzenie sobie nowego zestawu (czyli znam już jego uzytkownika, dostawce), wprowadzam sobie nopwy podzespół. Czyli do tej pory wybierałem dla niego zestaw docelowy, użytkownika i dostawcę (a to przecież już raz wypełniałem, przy dodawaniu zestawu). Listy te i tak są budowane za bazy tak jak pisałem, ale chciałbym aby właściwości "selected" dla pól dostawca i użytkownik mi się zmieniały w zależności od zestawu który wybiorę z listy.
Napisałem coś takiego, ale nie aktualizuje mi list.
Kod
function $(id) {
    return document.getElementById(id);
    }

function aktualizuj() {
var dostawca=$("dostawca").value;
var uzytkownik=$("uzytkownik").value;
var zestaw=$("zestaw").value;
var zapytanie = "aktualizuj.php?dostawca="+dostawca+"&uzytkownik="+uzytkownik+"&zestaw="+zestaw;
advAJAX.get({
    url : zapytanie,
    onSuccess : function(obj) {
  document.getElementById("dostawca").value=obj.responseText;
  document.getElementById("uzytkownik").value=obj.responseText;

    },
    onLoading : function(obj) {
  document.getElementById("dostawca").value="Aktualizacja...";
  document.getElementById("uzytkownik").value="Aktualizacja...";
    }
});
}  


Poza tym nie bardzo rozumiem sposób przekazania w tym momencie danych w dwa miejsca, jeśli przekazuję do jednego to mogę to zrobić np za pomocą zwykłego echo(), ale jak zrobić jeśli chcę przekazać do dwóch różne dane? Przykład niżej:

  1. <?php
  2.  
  3. $uzytkownik=$_GET['uzytkownik'];
  4. $zestaw=$_GET['zestaw'];
  5. $dostawca=$_GET['dostawca'];
  6. require('./polacz_z_baza.php'); //ustanawiam polączenie z baza danych
  7. $zapytanie = "SELECT * FROM zestawy WHERE id_zestawu='$zestaw'";
  8. $wynik = mysql_query ($zapytanie);
  9. $rekord = mysql_fetch_array ($wynik);
  10. $id_zestawu = $rekord[0];
  11. $dostawca = $rekord[1]; 
  12. $uzytkownik=$rekord[11];
  13.  
  14. echo $dostawca; //zwraca identyfikator, który chcę ustawić jako selected w liście zwracającej wszy
    stkich dostawców
  15. echo $uzytkownik; //zwraca identyfikator, który chcę ustawić jako selected w liście zwracającej wszy
    stkich użytkowników
  16.  
  17. // jak przekazać $dostawca do listy dostawców, a $użytkownik do listy użytkowników?
  18.  
  19. ?>
TomASS
Zobacz ten przykład i dorób sobie trzeciego selecta.
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.