Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery][php] przesłanie zmiennej z select
Forum PHP.pl > Forum > XML, AJAX
tomek_swat
witam,
męczę się na pewnym efektem, chciałbym uzyskać efekt, który polega na tym, że gdy po wybraniu z listy select jednej z opcji i naciśnięciu przycisku, wartość zmiennej wędruję do funkcji php jako argument oto mój kod:

  1. <form method="post" id="viewFromShop" action="produktyWyswietlZeSklepu.php">
  2. <select name="idsklepu" type="text" id="sklep">
  3. <?php
  4.  
  5.    $a = $db -> query('SELECT idsklepu, snazwa from sklep');
  6.                        
  7.                        while($row = $a->fetch()){
  8.                            echo '<option value="'.$row['idsklepu'].'">'.$row['snazwa'].'</option>';
  9.                        }
  10.                        
  11.                        $a->closeCursor();
  12. ?>
  13. </select>
  14. <div id="dodaj">
  15. <input type="submit" name="pokaz" value="Pokaż" />
  16.    
  17. <script type="text/javascript">
  18.      
  19.        $(document).ready(function() {
  20.            $('#viewFromShop').ajaxForm(function() {
  21.                $.post("produktyWyswietlZeSklepu.php, {opcja: 2}")
  22.            });
  23.        });
  24. </script>    
  25.    
  26. </div>
  27. </form>    
  28. <div id="target">
  29.    
  30. </div>
  31.        
  32. <div id="dynamic">
  33.                    <ul id="list">
  34.                        <li><span>Lista produktów:</span></li>
  35.                        <li id="last">Liczba: <span><?php echo $produkt->countItems('produkt', $_POST['opcja']); ?></span></li>
  36.                    </ul>
  37. </div>

narazie na sztywno ustawiłem wartość na 2 ale i tak nie działa, proszę o pomoc
pzdr
erix
Kod
$.post("produktyWyswietlZeSklepu.php, {opcja: 2}")

Coś mi się cudzysłowy nie zgadzają. winksmiley.jpg

Zainteresuj się funkcją $.post (jQuery API), masz tam wszystko w tutorialach wyjaśnione. Co do pobierania wartości, $('selektor').val(). I właściwie ta ostatnia funkcja jest Twoim kluczem do rozwiązania.
tomek_swat
problem w tym, że jeśli stronę na której znajduje się ten uruchomie bezpośrednio to wszystko działa
  1. <form method="post" id="viewFromShop" action="produktyWyswietlZeSklepu.php">
  2. <select name="idsklepu" type="text" id="sklep">
  3. <?php
  4.  
  5.    $a = $db -> query('SELECT idsklepu, snazwa from sklep');
  6.                        
  7.                        while($row = $a->fetch()){
  8.                            echo '<option value="'.$row['idsklepu'].'">'.$row['snazwa'].'</option>';
  9.                        }
  10.                        
  11.                        $a->closeCursor();
  12. ?>
  13. </select>
  14. <div id="dodaj">
  15. <input type="submit" name="pokaz" value="Pokaż" id="pokaz" />
  16.    
  17. <script type="text/javascript">
  18.            $.("#pokaz").livequery(function() { $('#viewFromShop').ajaxForm(function() {}); });
  19. </script>    
  20.    
  21. </div>
  22. </form>    
  23. <div id="target">
  24.    
  25. </div>
  26.        
  27. <div id="dynamic"><?php var_dump($_POST); ?>
  28.                    <ul id="list">
  29.                        <li><span>Lista produktów:</span></li>
  30.                        <li id="last">Liczba: <span><?php echo $produkt->countItems('produkt', $_POST['idsklepu']); ?></span></li>
  31.                    </ul>
  32. </div>

ale plik produktyWyswietlZeSklepu.php ładuję przez ajax na jeszcze inną stronę i gdy kliknę submit i odpowiednio zmienie ścieżkę w action formularza też działa, ale wyskakuję w nowym okienku a chciałbym, żeby efekt był widoczny w tym samym oknie, stronę ładuję do index.php poprzez funkcję
  1. <?php
  2. function loadContent(id) {
  3.            $("#content").load("controller.php?module="+id+"");
  4.        }
  5. ?>
tomek_swat
rozwiązałem problem trochę na około, wyrzuciłem tę funkcję ajaxową do ładowania i robię to bezpośrednio przez kontroler php
teraz wszystko działa, tylko adres się trochę zmienił winksmiley.jpg
dzięki za pomoc
pzdr
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.