Hämta data från databasen via jquery, problem med länkar

Permalänk

Hämta data från databasen via jquery, problem med länkar

Hej!
Jag hämtar information via jquery från databasen.
Informationen dyker upp men finns där en länk informationen som ska trigga ett jquery script så funkar det inte.
Jquery koden ser ut så här:

$('#menuBar li a').click(function(){ var id= $(this).attr('id'); $.ajax({ type: 'POST', data: ({id : id}), url: 'getcontent.php', success: function(data) { $('#content').hide() $('#content').html(data); $('#content').fadeIn(1000,0); } }); });

Hur ska jag göra för att få det att funka???

Hälsningar/
granskog

Permalänk
Medlem

Bara så jag har förstått rätt, du får ut html-kod från databasen, bl.a en länk, och denna länk har en javascript-metod bunden till sig som triggas när man klickar på länken?
Isf så kan nog problemet vara att du måste använda dig av $.bind eller $.live när du binder eventet pga. att din länk läggs till dynamiskt, alltså inte finns från början.

$("a").live("click", function(){ alert("Im a banana!"); });

Permalänk
Medlem

Om det är en länk som ska hämta ut informationen kan du behöva returnera false efter trycket så att inte sidan laddas om för användaren (alternativt går till sidan dit länken går).

Så efter ditt ajax-anrop, lägg till "return false;"

Visa signatur

EPoX 8RDA+, XP2500+, 2x256Mb PC3200 (DualCh), Club3D 9800PRO, Seagate 7200.7 160Gb 8Mb Limited edition

Permalänk

Helt rätt guttersnipe ska testa det.

Tack för hjälpen.

Permalänk
Medlem
Skrivet av materka:

Bara så jag har förstått rätt, du får ut html-kod från databasen, bl.a en länk, och denna länk har en javascript-metod bunden till sig som triggas när man klickar på länken?
Isf så kan nog problemet vara att du måste använda dig av $.bind eller $.live när du binder eventet pga. att din länk läggs till dynamiskt, alltså inte finns från början.

$("a").live("click", function(){ alert("Im a banana!"); });

live() är föråldrat sedan v1.7. Nu är det on() man ska använda.

Permalänk

Ok tack det löste det.

Permalänk
Medlem
Skrivet av Marwelln:

live() är föråldrat sedan v1.7. Nu är det on() man ska använda.

tack för den, visste inte det.

Permalänk
Medlem
Skrivet av granskog1:

Hej!
Jag hämtar information via jquery från databasen.
Informationen dyker upp men finns där en länk informationen som ska trigga ett jquery script så funkar det inte.
Jquery koden ser ut så här:

$('#menuBar li a').click(function(){ var id= $(this).attr('id'); $.ajax({ type: 'POST', data: ({id : id}), url: 'getcontent.php', success: function(data) { $('#content').hide() $('#content').html(data); $('#content').fadeIn(1000,0); } }); });

Hur ska jag göra för att få det att funka???

Hälsningar/
granskog

Detta är kanske lite OFT men att hämta $('#content') tre gånger är otroligt onödigt. Du kan kedja dessa såhär:

$('#content').hide().html(data).fadeIn(1000);