Avatar billede ssv Nybegynder
15. juli 2009 - 12:01 Der er 8 kommentarer og
1 løsning

Ændre tekst begge steder ved klik på link

Hello.

Jeg har endnu engang brug for lidt jQuery hjælp. Problemet går ud på, at jeg har en liste med en masse indhold. Jeg bruger et link til at vise mere/færre rækker. Jeg har et link 2 steder der kan gøre dette, men med det kode jeg har brygget sammen, virker det kun hvis man bruge samme link igen, da den tjekker teksten i linket.

Kan man ændre teksten begge steder når der bliver bliver trykker på ét af linksene?

Min kode er som følger:

$('.show-all').click(function(){
          var $columns = $('#content-list tr:eq(15)').nextAll();
          if ( $(this).text() == "Vis alle" ) {
                  $(this).text('Vis færre');
                $columns.show();
                return false;
          } else {
                $(this).text('Vis alle');
                $columns.hide();
                return true;
          }
    });
Avatar billede jokkejensen Novice
15. juli 2009 - 13:24 #1
mener du ikke  bare:

$('.show-all').click(function(){
          var $columns = $('#content-list tr:eq(15)').nextAll();
          if ( $(this).text() == "Vis alle" ) {
                  $(.show-all).text('Vis færre');
                $columns.show();
                return false;
          } else {
                $(.show-all).text('Vis alle');
                $columns.hide();
                return true;
          }
    });
Avatar billede jokkejensen Novice
15. juli 2009 - 13:24 #2
how

$('.show-all').click(function(){
          var $columns = $('#content-list tr:eq(15)').nextAll();
          if ( $(this).text() == "Vis alle" ) {
                  $('.show-all').text('Vis færre');
                $columns.show();
                return false;
          } else {
                $('.show-all').text('Vis alle');
                $columns.hide();
                return true;
          }
    });
Avatar billede ssv Nybegynder
15. juli 2009 - 13:45 #3
Det virker ikke. Teksten skal rettes begge steder, og det du har lavet rette det kun ét sted, så vidt jeg kan se. :-)
Avatar billede jokkejensen Novice
15. juli 2009 - 13:59 #4
$('.show-all').click(function(){
          var $columns = $('#content-list tr:eq(15)').nextAll();
          if ( $(this).text() == "Vis alle" ) {
                  $('.show-all')each(
function(){$(this).text('Vis færre');}):
                $columns.show();
                return false;
          } else {
$('.show-all')each(
function(){$(this).text('Vis alle');}):
                $columns.hide();
                return true;
          }
    });

Sån så ?
Avatar billede jokkejensen Novice
15. juli 2009 - 13:59 #5
.each() !!!
Avatar billede jokkejensen Novice
15. juli 2009 - 14:00 #6
altså jeg formoder begge "knapper" har class="show-all" ?
Avatar billede ssv Nybegynder
15. juli 2009 - 15:24 #7
Genialt, det fungerer. Smit et svar.

PS. Du havde afsluttet noget kode med ":" i stedet for ";", men det er rettet ([..]text('Vis færre');}):[..]). ;-)
Avatar billede jokkejensen Novice
15. juli 2009 - 15:28 #8
sry, ja jeg tester ikke så meget :)

Glad for at kunne hjælpe

/J
Avatar billede jokkejensen Novice
15. juli 2009 - 15:29 #9
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester