Article View: pl.comp.lang.javascript
Article #49131Re: [jquery]Dezaktywacja <a>
From: misiek
Date: Tue, 07 Jul 2009 16:33
Date: Tue, 07 Jul 2009 16:33
74 lines
3650 bytes
3650 bytes
Paweł Piskorz pisze:
[...]
> Na pytanie sam sobie odpowiedziałeś, ale i tak pozwolę sobie na kilka
> uwag :)
>
> Nie musisz używać each, to nie prototype*:
> $(document).ready(function(){
> $("a.thumb").bind("click", function(e){
> var tmp = $(this).attr("href");
> $("img.zmiana").attr({src: tmp});
> });
> });
Wczesniej zrezygnowalem z each, ale cos nie chcialo dzialac. Inaczej -
dzialalo w taki sposob, ze wszystkie <a> po kliknieciu, wstawialy
obrazek z pierwszego <a>, zamiast z odpowiedniego dla siebie hrefa.
Zapewne cos zle zrobilem :).
Korzystajac z okazji, wiesz moze jak sprawic, aby po kazdej zmianie
tresci na nowo poustawiac bindy? Tresc sie zmienia poprzez zapytania
Ajaxowe. Zdaje sobie sprawe, ze trzeba to zrobic po kazdej udanej
podmiane, jednak nie wiem jak osiagnac taki efekt dla "nieskonczonej"
liczby wywolan tego zapytania Ajaxowego.
Mam takie cos (lub tu: http://pastebin.com/m3afd10cb ):
$().ready(function (){
$("div.nawi a").each( function(i) {
$(this).unbind("click");
$(this).bind("click", function(e){
var tmp = $(this).attr("href");
var search_wynik_zapytania = tmp.search(/\?/);
var wynik_url = tmp.substring(0,search_wynik_zapytania);
var wynik_data = tmp.substring(search_wynik_zapytania+1,tmp.length);
e.preventDefault();
$.ajax({
url: wynik_url,
data: wynik_data + '&ajax=1',
type: 'GET',
success: function(results) {
$("div.ajax_here").html(results);
$("div.nawi a").each( function(i) {
$(this).unbind("click");
$(this).bind("click", function(e){
var tmp = $(this).attr("href");
var search_wynik_zapytania = tmp.search(/\?/);
var wynik_url =
tmp.substring(0,search_wynik_zapytania);
var wynik_data =
tmp.substring(search_wynik_zapytania+1,tmp.length);
e.preventDefault();
$.ajax({
url: wynik_url,
data: wynik_data + '&ajax=1',
type: 'GET',
success: function(results) {
$("div.ajax_here").html(results);
}
});
});
});
}
});
});
});
});
Powyzsze dziala do dwoch kolejnych wywolan ajaxownych. Kolejne - trzecie
osiagnalbym kopiujac znowu zawartosc calej funkcji (na pastebinie na
zolto) do parametru success, ale chyba nie tedy droga, bo co dla
czterech, pieciu itd....
Pozdrawiam,
misiek
Technical Details
Message-ID:
<h2vtdd$ct7$1@achot.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!not-for-mailReferences:
<h2j4ll$aq2$1@achot.icm.edu.pl> <h2nksm$efu$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!not-for-mail From: misiek <misiek@biegun.N> Newsgroups: pl.comp.lang.javascript Subject: Re: [jquery]Dezaktywacja <a> Date: Tue, 07 Jul 2009 18:33:51 +0200 Organization: http://news.icm.edu.pl/ Lines: 74 Message-ID: <h2vtdd$ct7$1@achot.icm.edu.pl> References: <h2j4ll$aq2$1@achot.icm.edu.pl> <h2nksm$efu$1@inews.gazeta.pl> NNTP-Posting-Host: chello089075165005.chello.pl Mime-Version: 1.0 X-Trace: achot.icm.edu.pl 1246984429 13223 89.75.165.5 (7 Jul 2009 16:33:49 GMT) X-Complaints-To: abuse@icm.edu.pl NNTP-Posting-Date: Tue, 7 Jul 2009 16:33:49 +0000 (UTC) In-Reply-To: <h2nksm$efu$1@inews.gazeta.pl> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit