Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jquery][php] przesłanie zmiennej z select
tomek_swat
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 3.04.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
$.post("produktyWyswietlZeSklepu.php, {opcja: 2}")

Coś mi się cudzysłowy nie zgadzają. (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post
tomek_swat
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 3.04.2008

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://forum.php.pl/index.php?showtopic=10...mp;#entry541171
Go to the top of the page
+Quote Post
tomek_swat
post
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 3.04.2008

Ostrzeżenie: (0%)
-----


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ł (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
dzięki za pomoc
pzdr
Go to the top of the page
+Quote Post

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: 22.08.2025 - 17:23