
Originariamente inviata da
m4rko80
Per farti un idea, se provi questo (salvalo come .html e provalo cosi' com'è)
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>
recuperoValori() sarà la tua chiamata al server per recuperare la lista iniziale.
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.