Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][AJAX] Obiektowość zwracanej treści
Forum PHP.pl > Forum > XML, AJAX
Jazi
Witam,
Mam dwa następujące pytania:

Pytanie nr 1
Mam zmienną w JavaScript zwącą się 'text' i zawiera następującą treść:
Kod
<div id='x'>x</div><div id='y'>y</div>
Pytanie brzmi: jak za pomocą javascript/jquery pobrać zawartość np. diva #x zwracając się do jego identyfikatora?
Próbowałem jakoś kombinować w ten sposób
Kod
$(test).children("#formularz_dodawania").val()

ale mi to nie wychodziło...

Pytanie nr 2
Chciałbym za pomocą jQuery/AJAX łączyć się z plikiem, który zwraca tak jakby dwa zestawy kodów HTML [np w osobnych div'ach o unikalnych identyfikatorach] (abym mógł jeden kod wstawić w jedno miejsce strony, a drugi w inne miejsce).
Np.
Kod
<div id='x'>kod HTML nr 1</div>
<div id='y'>kod HTML nr 2</div>

Na chwilę obecną wiem (albo nie wiem, bo się mylę - jeżeli tak jest to mnie poprawcie), że w XMLu raczej nie da się przechowywać kodu HTML. Nie zrobię więc tak jak niżej ze względu na to, że HTML ma znaczniki '<' oraz '>'.
Kod
<kod1>kod HTML nr 1</kod1>
<kod2>kod HTML nr 2</kod2>

Za pomocą jakiej technologii sobie z tym poradzić? Jakieś podpowiedzi?
frok
<div id='x'>x</div><div id='y'>y</div>

Odp nr 1:
var textHTML = $('#x').html(); //zwraca kod html znajdujący się w divie x
var text = $('#x').text(); //zwraca czysty tekst

Odp nr 2:
pobierz.html:
<div id="z_tego_diva">Treść pobierana dynamicznie</div>

index.html:
$('#result').load('pobierz.html #z_tego_diva');
Jazi
Ad 1.
No niezbyt mi o to chodziło. W Twojej wersji to wygląda tak, jakbym kod miał już dodany na stronie, a tutaj mam to w zmiennej.

Ad 2.
W Twojej metodzie (.load()) nie można chyba skorzystać z trybu POST oraz wpisać argumentów. A potrzebne mi są te dwa warunki.


Kolejne pytanie. Jak mam kod:
Kod
var test = "<div id='d1'>tresc1</div><div id='d2'>tresc2</div>";
var wartosc = $(test +" #d2").html();
alert(wartosc);


To alert() zwraca mi wartość "tresc1", a nie "tresc2". Co robię nie tak?
frok
Ad1, ad 3
http://www.poradnik-webmastera.com/kursy/j...a_regularne.php


AD2

$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
Jazi
Ad 1.
Czyli mam rozumieć, że nie da się wydobyć zawartości jakiegoś DIVa (odwołując się do jego identyfikatora/klasy) znajdującego się w zmiennej jako tekst?

Ad 2.
No podałeś mi formę z POST i wiem, że takie coś istnieje... ale czy ma taką funkcjonalność, jak podany przez Ciebie load...?
melkorm
Ad .1
Kod
var test = '<div><div id="a">treść</div></div>';
alert( $('#a',$(test)).html() );


Ad.2
Analogicznie:
Kod
// funkcja callback z parametrem odpowiedzi (response)
function(response)
{
var el = $('<div></div>').html(response);
alert( $('#x', el).html() );
alert( $('#y', el).html() );
}
Jazi
Dzięki, działa :]
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.