Spero il titolo non sia toppo contorto

stò usando il framework jQuery.

ho una lista di elementi richiamati tramite AJAX strutturata come segue:

<ul id="loc" class="groupWrapper">
<li class="box_associato" id="li_1"><span class="box_allegato_delete" id="associato_1">[img]icone/icona_close.gif[/img]</span>
Nome Prodotto 1

....

<li class="box_associato" id="li_10"><span class="box_allegato_delete" id="associato_10">[img]icone/icona_close.gif[/img]</span>
Nome Prodotto 10[/list]

Ho creato una funzione che, al click sulla X all'interno dei tag[*], rimuove lo stesso ed esegue una chiamata AJAX per aggiornare il DB.
La richiamo con onclick="delrelazioni(); return false;" perchè altrimenti la funzione non partirebbe.

Il problema è che se ho esempio dieci[*] quando cancello il primo appare 1 messaggio di conferma, quando cancello il secondo ne appaiono 2 in successione e via via sempre di più, in pratica la funzione viene richiamata n volte di seguito in base agli[*] eliminati in precedenza.

questo è il codice JS:
Codice PHP:
function delrelazioni() {
        $(
".box_associato span").click(function () {
        var 
id_item = $("#id").val();
        var 
id = $(this).attr("id");
        var 
dataString 'action=delProdAssociati&id=' id ;

        var 
parent = $(this).parent();
        
        if(
confirm('Sei sicuro di voler rimuovere il prodotto dalla lista?')){
        
//invia la richiesta AJAX per eliminare il record
         
$.ajax({
            
type"POST"
            
url"../includes/ajax-updatedb.asp"
            
datadataString
            
cachefalse
            
success: function() {
                $(
parent).fadeOut("normal",function() {
                $(
this).remove();
                
//invia la richiesta AJAX per ripopolare la select
                
var dataString2 'action=showrelazionilist&id=' id_item ;
                $.
ajax({
                    
type"POST"
                    
url"../includes/ajax-updatedb.asp"
                    
datadataString2
                    
cachefalse
                    
success: function(theResponse) {
                    
                        $(
"select#prodotto_associato").html(theResponse);
                        }
                  }); 
//chiudi $.ajax
                
});
                } 
//chiudi success
          
});
          } 
//chiudi if confirm 
        
});//chiudi function
    
//chiudi delrelazioni() 
qualcuno sa dirmi dove sbaglio?
grazie