ciao a tutti, ho un problema con un script in jquery, se gentilmente mi aiutate per favore.
da questo codice php, da un array con nomi di file, inserisco uno a uno in un href
codice HTML:
$allegati = '<div class="rimuovidiv">
<input id="btrimuovi" type="button" class="allegati allegatirimuovi" value="Rimuovi Allegato" onclick="rimuovi_file_in_modifica(this);">
<a href="'.$uploadPath.$link.'" target="_BLANK" class="allegatiaref">'.$link.'</a><br>
</div>';
echo $allegati;
al momento di eseguire echo $allegati; per esempio ho questo risultato
codice HTML:
<div class="rimuovidiv">
<input id="btrimuovi" type="button" class="allegati allegatirimuovi" value="Rimuovi Allegato" onclick="remove_file_in_modifica(this);">
<a href="allegati/254_nome_file1.txt" target="_BLANK" class="allegatiaref">254_nome_file1.txt</a>
<br>
</div>
<div class="rimuovidiv">
<input id="btrimuovi" type="button" class="allegati allegatirimuovi" value="Rimuovi Allegato" onclick="remove_file_in_modifica(this);">
<a href="allegati/254_nome_file2.txt" target="_BLANK" class="allegatiaref">254_nome_file2.txt</a>
<br>
</div>
<div class="rimuovidiv">
<input id="btrimuovi" type="button" class="allegati allegatirimuovi" value="Rimuovi Allegato" onclick="remove_file_in_modifica(this);">
<a href="allegati/254_nome_file3.txt" target="_BLANK" class="allegatiaref">254_nome_file3.txt</a>
<br>
</div>
e con questo script in jquery vorrei al momento del remove "catturare" il valore del href clickato, lo script funziona solo se al momento di clickare si inizia dal primo all'ultimo, ma se si inizia dall'ultimo a dalla metà prende il valore del primo file.
split: mi serve per prendere solo il nome del file e non il path che avevo messo fisso.
codice HTML:
function rimuovi_file_in_modifica(ele)
{
$(document).ready(function(){
var nomefileallegato = $('.allegatiaref').attr('href').split('/');
var nomedarimuovere = nomefileallegato[1];
alert(nomedarimuovere);//visualizzo il nome del file da eliminare.
console.log("NOME FILE DA RIMUOVERE "+ nomedarimuovere);
$(ele).parent().remove();
});
}
se clicko rimuovi in questo ordine funziona: rimuove e scrive corretamente i nomi
254_nome_file1.txt
254_nome_file2.txt
254_nome_file3.txt
ma se rimuovo in questo ordine:
254_nome_file1.txt //terzo click
254_nome_file2.txt //secondo click
254_nome_file3.txt //primo click
rimuovo quello corretto (quello clickato), ma scrive sempre il primo nome file 254_nome_file1.txt
qualche suggerimento, grazie in ancitipo.
Saluti
Italo