Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,456

    [jquery] Dopo il success di perde il valore

    In una pagina ho questo codice che mi esegue uno script php
    codice:
    $(document).ready(function(){
        $('input.assegna').click(function(){
            $.ajax({
                type: "POST",
                url: "/revisioni/assegna_rev.php",
                data: "id="+$(this).attr('alt'),
                success: function(){
                    alert('Revisore assegnato.');
                    $('#box_'+$(this).attr('alt')).css('background-color','#FF4444');
                }
            })
        });
    });
    Il problema è che in caso di successo devo modificare lo sfondo di un div e non riesco a farlo.
    Il motivo è che nella funzione eseguita in caso di successo non posso passare il valore $(this).attr.('alt') che mi identifica l'elemento a cui cambiare colore.
    Come faccio a passarglielo?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ma l'attributo alt in questione a cosa è assegnato?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,456
    L'attributo alt è assegnato ad un input button ed è corretto, tutto il resto avviene senza problemi.

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ok ma dentro la funzione success il riferimento a $(this) ovviamente non è più il button
    quindi è logico creare un riferimento esterno dentro l'handler a cui accedi per closure


    codice:
    $(document).ready(function(){
        $('input.assegna').click(function(){
           var alt_id = $(this).attr('alt');
       
            $.ajax({
                type: "POST",
                url: "/revisioni/assegna_rev.php",
                data: "id=" + alt_id,
                success: function(){
                    alert('Revisore assegnato.');
                    $('#box_' + alt_id).css('background-color','#FF4444');
                }
            })
        });
    });
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,456
    Eh... la teoria ce l'avevo... la pratica no :P
    Non sapevo dove mettere il riferimento esterno.

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.