Per farti un idea, se provi questo (salvalo come .html e provalo cosi' com'è)
recuperoValori() sarà la tua chiamata al server per recuperare la lista iniziale.codice:<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript"> var lavori; function recuperoLavori() { //recupero lavori da chiamata ajax, il risultato di data presa da done(data) sarà tipo: var data = [{ id: 1, titolo: "lavoro 1", data: "20180105", hash: "555ggd3" }, { id: 2, titolo: "lavoro 2", data: "20180105", hash: "4fs45s" } ]; lavori = data; //assegno data a "lavori" globale jQuery.each(lavori,function(k,item){ jQuery('#lavori').append('<a href="#" data-id="'+item.id+'">'+item.titolo+'</a><br/>'); }) } jQuery(function(){ recuperoLavori(); jQuery('#lavori a').on('click', function(){ var ID = jQuery(this).data('id'); console.log('click id : ' + ID); var lavoro = jQuery.map( lavori, function( item, i ) { if(item.id==ID){ return item; } }); console.log(lavoro); }) }); </script> </head> <body> <P>lista lavori</P> <div id="lavori"> ........... </div> </body> <html>
La lista lavori l'ho craeta di prova post richiesta (immagino sarà così anche la tua).
Settato poi "lavori" come globale e al click su un link/lavoro generato recupero tutti i dati con match ID lavoro e item trovato nella lista lavori.

Rispondi quotando
