Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Select i przekazanie wartości do pliku php
einter-project
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 9.09.2011

Ostrzeżenie: (10%)
X----


Witam

Napisałem taki kod:

  1.  
  2. .....
  3. <select class="inputSelectGray" name="formStyle">
  4. <optgroup label="Pojedyńczy wykres">
  5. <option value="single_series_charts/FCF_Column2D.swf">Column 2D</option>
  6. <option value="single_series_charts/FCF_Column3D.swf">Column 3D</option>
  7. <option value="single_series_charts/FCF_Line.swf">Line 2D</option>
  8. <option value="single_series_charts/FCF_Area2D.swf">Area 2D</option>
  9. <option value="single_series_charts/FCF_Bar2D.swf">Bar 2D</option>
  10. <option value="single_series_charts/FCF_Pie2D.swf">Pie 2D</option>
  11. <option value="single_series_charts/FCF_Pie3D.swf">Pie 3D</option>
  12. <option value="single_series_charts/FCF_Doughnut2D.swf">Doughnut 2D</option>
  13. ......
  14. <script type="text/javascript">
  15. $(document).ready(function(){
  16. var formStyle = "";
  17.  
  18. $("[name=formStyle]").change(function(){
  19. $("select option:selected").each(function () {
  20. formStyle = $(this).val();
  21. });
  22. });
  23.  
  24. $.ajax({
  25. url: "modulesALL/ranking/preview.php?style="+formStyle,
  26. success: function(results) { $('#preview').html(results); }
  27. });
  28. });


PLIK PHP
  1. $_GET['style'] = isset($_GET['style']) ? $_GET['style'] : '';
  2.  
  3. include("../../../class/fusionCharts/includes/fusionCharts.php");
  4.  
  5. if($_GET['style'] == false){
  6. $_GET['style'] = 'single_series_charts/FCF_Column3D.swf';
  7. }
  8.  
  9. print renderChartHTML($_SESSION['DB_DOMAIN_ALL']."class/fusionCharts/flash/".$_GET['style'], $_SESSION['DB_DOMAIN_ALL']."class/fusionCharts/flash/single_series_charts/schemat.xml", "", "myFirst", 450, 450)
  10. ?>


I teraz chciałbym metodą get przekazać wybraną wartość do pliku php bez odświerzenia strony.

Może ktoś mnie naprowadzić co robię nie tak?

Pozdrawiam

Ten post edytował einter-project 16.04.2012, 18:24:28
Go to the top of the page
+Quote Post
lukesh
post
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 14
Dołączył: 25.08.2006

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


Jeśli chcesz coś przesłać jakąś wartość za pomocą .ajax, to powinieneś uruchomić tę funkcję w momencie, kiedy ta wartość istnieje, a nie kiedy ładuje się strony i wartość jest pusta.

  1. $("select option:selected").each(function () {
  2. formStyle += $(this).val() + " ";
  3. // <--- TUTAJ POWINIEN BYĆ AJAX
  4. });


Ty zrobiłeś tak, że strona się ładuje i próbuje wysłać zmienną, która w ogóle wtedy nie istnieje i tym samym nic się nie dzieje.

Poza tym, do czego Ci jest potrzebne to .each w tym skrypcie, skoro nie masz możliwości wyboru wielu pól tylko jedno?


  1. $("[name=formStyle]").change(function(){
  2. formStyle = $("select option:selected").val();
  3. // AJAX
  4. });


Ten post edytował lukesh 16.04.2012, 18:29:54


--------------------
Edumemo.pl - Nauka Języków Obcych
Go to the top of the page
+Quote Post
einter-project
post
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 9.09.2011

Ostrzeżenie: (10%)
X----


Może powiem o co mi chodzi.
Chce zrobić konfiguracje fusionCharts z podglądem bez przeładowania strony. Pól formularza będzie około 20 (input, select, checbox); I teraz przy wpisaniu każdej wartości chciałem aby się zmieniał się podgląd. Czyli przy zmianie każdego pola powinno odświerzyć preview.php. Ma to sens? I jak zrobić aby przy każdej zmianie odświerzało preview.php.

Pozdrawiam
Go to the top of the page
+Quote Post
lukesh
post
Post #4





Grupa: Zarejestrowani
Postów: 113
Pomógł: 14
Dołączył: 25.08.2006

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


W przypadku select i checkbox użyj $.change(). W przypadku input możesz użyć również .change() i wtedy wartość będzie wysyłana jak ktoś wyjdzie z pola (np. kliknie myszką gdzieś indziej) albo .keyup, jeśli chcesz żeby zmiany były wprowadzane po wpisaniu jednej litery, i wtedy pobierz tę wartość do zmiennej globalnej i sprawdź, czy poprzednia wartość w zmiennej jest inna i jeśli tak, wyślij dane.
Nie wiem, jak działa fusionCharts, ale jak chcesz przesyłać zmienną po każdej zmianie, to wystarczy, że zrobisz tak, jak wspomniałem.
Możesz oczywiście za każdym razem przesłać wszystkie pola, jeśli będzie to konieczne.


--------------------
Edumemo.pl - Nauka Języków Obcych
Go to the top of the page
+Quote Post
einter-project
post
Post #5





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 9.09.2011

Ostrzeżenie: (10%)
X----


Dzięki derdeczne za pomoc. Doszedłem do wniosku że jednak dam przycisk i po kliknięciu będzie odświeżał stronę.

Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 17:30