2010-12-07 7 views
1

i besoin de savoir si cela est possible et comment ....ajouter des choses à un tableau en utilisant jquery

J'ai une série de linkk

< a href = "#" id = "bonjour" > BONJOUR </a>

< a href = "#" id = "accueil"> accueil </a>

< a href = id "n" = "start"> start </a>

< a href = "#" id = "finish"> terminer </a>

ce que je veux faire est que je clique sur le lien que je souhaite ajouter l'identifiant à un tableau (mots) . donc si je clique sur tous les 4 liens mon tableau devrait avoir bonjour, bienvenue, commencer, finir. Par conséquent, si cela n'est pas possible, vous pouvez les concaténer à une seule variable à chaque clic sans détruire les données précédentes dans la variable .. words = (hello | welcome | start | finish).

toute aide est appréciée.

grâce andy

Répondre

1

donc si votre fichier js ressemble ceci (et jquery a été inclus sur la page)

var ClickedLinks = []; 
$(function() { 
    $('a').click(function() { 
     var id = $(this).attr('id'); 
     if ($.inArray(id, ClickedLinks) == -1) { 
      ClickedLinks.push(id); 
     } 
    }); 
}); 

Ceci va vérifier le tableau et ne pas l'ajouter à nouveau.

EDIT: fixe $ .inArray retournant une position, plutôt que d'un booléen (comme je supposais à tort)

+0

@alastair nouvelle chose apprise de votre code, inArrya, j'ai écrit ma fonction uncessaryly, merci + 1 pour vous – kobe

+0

@gov: c'est une petite fonction très pratique :) –

+0

J'ai essayé ceci ... – andy

0

@andy d'abord donner une classe à tous les HREF //

< a href="#" id="hello" class="examle"> HELLO </a> 

    var arrayResults=new Array(); 

    $('.examle').click(function() { 
     var textval= $(this).attr('id');;// do a check if it already exists 
     if(!exitsts){ //write a function to check if already exists.. 
     arrayResults.push(textval); 
     } 
    }); 

enfin arrayResults aura toutes les valeurs

0
var myVar = Array() 

$('a').click(function(){ 
    myVar[] = $(this).attr('id'); 
}) 
+0

vous ajouter une condition de vérifier si elle existe déjà //// code alastair prend soin d'elle. – kobe

Questions connexes