Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JQuery][HTML][PHP] Pobranie zmiennej z <select><option> w pętli while
Forum PHP.pl > Forum > Przedszkole
scorpion10
Jak pobrać wartość z listy rozwijanej
  1. <select value= "<?php while (.....warunek....){ ?>"> <option><?php echo $zmienna ?><option><?php } ?><select>
do jQuery która jest w pętli while i pobiera dane z MySQL.
jak rozpoznać w jQuery która wartość rozwijanej listy została wybrana. Oczywiście select ma swoje id i poprzez zdarzenie "change" chce pobrać odpowiednia wartość z <select><option>.
viking
  1. $("select option:selected");

Oczywiście dobrze by było dać jakieś value dla option.
scorpion10
oczywiście jest value, przeoczyłem to piszać na szybko post ale wartość w value jest podano jako zmienna PHP przechowujaca wartość z pola bazy danych, ale to nadal nie rozwiązuje mojego problemu :-)


  1.  
  2. $(document).ready(function(){
  3.  
  4. $('#Gniazda').on('change',function(){
  5.  
  6. var zpk = $('select option:selected').val();
  7.  
  8. console.log(zpk);
  9.  
  10.  
  11. });
  12.  
  13.  
  14. });
  15.  


Pobiera mi tylko pierwsza wybrana wartość z pętli while <option> po zmianie wartości na liście rozwijanej na inną nadal wartość jest pierwszej z listy.

OK. pobiera mi juz wartość z value="....." poprzez ten skrypt jquery

  1. $(document).ready(function(){
  2.  
  3. $('#Gniazda').on('change',function(){
  4.  
  5. var zpk = $('select option[name=zpk]').filter(':selected').val();
  6.  
  7. console.log(zpk);
  8.  
  9.  
  10. });
  11.  
  12.  
  13. });


a jak do tego pobrać dodatkowe wartości zmiennych w tej pozycji select, nie wpisując ich do value='......' ? gdyż w value jest tylko ID rekordu
które będzie wymagane do zapisu w bazie, ale na stronie chciałbym wyświetlić jeszcze wartości innych zmiennych z tej pozycji select. Jak należało by to zrobić w jquery ?
Czy trzeba dodać ajax ?
viking
const zpk = $(this).val(); // $(this).text();
scorpion10
super, wszystko działa to o co powyżej już omówione, ale pozostaje jednak dalej problem, jak do tego pola <select>,<option> dorzucić sobie wartości
jeszcze innych kilku zmiennych z tej wybranej iteracji pętli while ?

Samą wartość zmiennej z <option> mam z atrybutu value=" ..." ale potrzebuje jeszcze przekazać do jQuery
kilka innych wartości zmiennych z PHP, które są powiązane z tą pozycją listy rozwijanej <option>.
Próbowałem do tego pola select dodać ukryte jeszcze pole i nim przesłać kolejna zmienną, ale niestety
pole pomimo atrybutu hidden i tak się wyświetla i zaburza cały wgląd formularza. Jaki jest prawidłowy sposób
w takim przykładzie, na przesłanie wartości tych zmiennych do jQuery ?

nospor
Nie ma zadnego atrybutu HIDDEN. Jest conajwyzej pole typu HIDDEN

<input type="hidden" value="blabla" />

Dorzuc to tych wartosci swoich resztre rzeczy po sredniku i juz

<option value="1;cosinnego;cosjeszczeinnego"> Opis dla value 1</option>
trueblue
Albo przechowuj w atrybutach data-*
https://developer.mozilla.org/pl/docs/Learn...data_attributes
scorpion10
mam problem ze składnią, z data-*, było by to najlepsze rozwiazanie, ale gdy umieszcze data- w linii
<option data-gk="<?php echo $Wartosc ?>" value="<?php echo $zmienna ?>">LISTA ROZWIJANA</option>
otrzymuje undefined jezeli jest w linii <select data-gk ............ itd.> to wówczas w konsoli mam wartość
przekazanej data ale to nie rozwiazuje mojego problemu, bo data-* musze przekazać z pętli while w z
pola <option>
Jak więc powinna być poprawna składania, by wartość data- została przekazana ?
trueblue
Zupełnie nie rozumiem o czym piszesz.
1. W jakim momencie otrzymujesz undefined? Pokaż kod jak pobierasz wartość z tego atrybutu.
2. Pokaż kod HTML wygenerowanej listy.
scorpion10
OK ! już ogarnąłem problem, data-* przekazuje teraz wartości, należało wskazać :selected jako zaznaczone pole <option>

Cytat(nospor @ 28.09.2021, 09:14:08 ) *
Nie ma zadnego atrybutu HIDDEN. Jest conajwyzej pole typu HIDDEN

<input type="hidden" value="blabla" />

Dorzuc to tych wartosci swoich resztre rzeczy po sredniku i juz

<option value="1;cosinnego;cosjeszczeinnego"> Opis dla value 1</option>



A jak potem przy pobraniu formularza metodą POST pobrać do osobnych zmiennych POST, te połączone średnikiem wartości pola <option value="1;cosinnego;cosjeszczeinnego">
pole select ma swoj name <select name="wartosc_zaznaczona">

var_dump($_POST); pokazuje mi te wartości, w jednym indeksie tablicy, połączone w jedną wartość, a czy da się je jakoś rodźelić je przy pobraniu formularza do odrębnych zmiennych $_POST[], bez używania substr() itp.. ?

nospor
explode()
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.