Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Otwieranie okna z inną treścią
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Mayka
Mam na stronie tabelkę z przyciskami
  1. <button class="obserwoj" value="'.$zna['id'].'">Dodaj do ulubionych</button>

i do tego potrzebuje przypiąć akcje w jquery która bedzie otwierała strone w php tylko z innym value buttona np. index.php?strona=33
jak takie coś zrobić ?
Bo jak zrobie jako klase to pobiera mi wartość pierwszego buttona na wszystkich,a jak zrobię jako id to działa pierwsze a reszta nie.. można to jakoś zrobić tak żeby nie wywoływać 100 razy:
  1. $(".obserwoj").click(function() {
  2. var password = $('.obserwoj').val();
  3. alert(password);
  4. });


Tylko z innym id czy klasą ?
kamil4u
Kod
var password = $('.obserwoj').val();

->
Kod
var password = $(this).val();
Mayka
Piękne dzięki nie pomyślałem o tym wink.gif

A jeszcze tak przy okazji jak wyświetlić to co zwraca zapytanie ajaxowe zamiast tej treści która jest na stronie ?
bo $('#status').html(data) zwraca html do div'a a jak bym chciał poprostu zmienić to co jest teraz, tym co zwróciło zapytanie (data). Można ?
kamil4u
Jeżeli dobrze rozumiem to przy AJAX-sie w jQuery masz zdarzenie success i dzięki niemu możesz wykorzystać to co zwrócił ajax.W dokumentacji masz przykłady.

Na co dzień nie używam jQuery, ale widzę, że teraz pojawiło się coś takiego jak .done. Jeśli Ci się uda użyj tego.
Mayka
Tak wiem że to ze zdarzenia success tylko nie wiem jak zamienić tu treść strony, bo $('#status') zamieni mi w divie a ja bym chciał załadować całą strone.

Albo inaczej chciałbym żeby to się zachowało tak jak byś wysłał normalnie formularz do strony i wyświetlić wynik, takie przeładowanie całej strony z wykożystaniem jquery i ajax.

kombinowałem coś na ten styl
  1. success: function(data){
  2. window.location.load(data);
  3. }


ale to zwraca że window.location.load is not a function wiec coś jest nie tak
kamil4u
$(document.body).load ?
Mayka
Ale jak zrobie tak to mi próbuje otworzyć to co jest w data jako link, a ja bym chciał zeby to było treścią strony
$(document.body).load(data);
kamil4u
Daj przykład

--edit--
I opisz dokładniej jak jest teraz, a jak ma być
Mayka
Wygląda to tak:
  1. $( "#wyszukaj" )
  2. .button()
  3. .click(function() {
  4.  
  5. var wyszukaj = $(document.createElement('div'));
  6. wyszukaj.load('./inc/wyszukaj.php');
  7. wyszukaj.dialog({
  8. title: "Wyszukiwarka",
  9. buttons: {
  10. "Szukaj": function() {
  11. $.ajax({
  12. type: 'POST',
  13. url: "./index.php?s=wyszukiwarka",
  14. data : {
  15. "from_date" : wyszukaj.find("#from_date").val(),
  16. },
  17. success: function(data){
  18.  
  19. $(document).load(data);
  20. wyszukaj.dialog( "close" );
  21. }
  22. });
  23. },
  24.  
  25. "Anuluj": function() {
  26. $( this ).dialog( "close" );
  27. }
  28. }
  29. });
  30. });


I teraz chciałbym żeby to co zwraca ajax zamieniło wyświetlaną treść pod dialogiem.

Niewiem czemu ale nawet jak zrobie
  1. success: function(data){
  2. wyszukaj.dialog( "close" );
  3. $('#TRESC').load(data); re
  4. }
  5. });
  6. },

a div o id tresc jest na stronie głównej to i tak wywala mi w firebugu.. Podany w zapytaniu URL /%3C!DOCTYPE nie zosta� odnaleziony na tym serwerze. Czyli tak jak by ładowało nie do diva a do urla strony, dlaczego tak sie dzieje ? Bo w tym zapytaniu które dał kamil4u jest to samo..
kamil4u
Wrzuć jeszcze online. Wszystko wydaje się być dobrze. Muszę samemu zobaczyć jak to wygląda.

Aha. Jak to jest jakaś część większego projektu to usuń z niego rzeczy niezwiązane z tematem.
Mayka
może jakieś return false albo cos tego stylu gdzies brakuje ? Zaraz postaram sie to jakoś poskładać do takiego stanu jak jest w projekcie żeby Ci (Wam) udostępnić
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.