Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    144

    Funzione click o change si ripete più volte anche con un solo click

    Buongiorno.
    mi è capitato di dover realizzare alcune funzioni per aggiungere delle quantità a un carrello oppure per ordinare dei risultati con jquery e ajax. Tutto funziona bene ma non so perchè se metto un alert per fare un controllo e clicco sul menù a tendina per scegliere come ordinare, la prima volta funziona e mi mostra un solo alert. Se clicco per cambiare nuovamente l'ordinamento mi appaiono due alert e così via 2 --> 4 --> 8 come se la funzione si richiamasse per X volte.

    Codice PHP:
    $( "#filtro1ricerca" ).change(function(evt1) { var parola=$('#parola').html(); var ordinamento=$('#filtro1ricerca').val();  $.ajax({      type"POST",      url"/_ext/include/prodotti_ricerca_filtri.php",      data"op=filtro&parola="+parola+"&ordinamento="+ordinamento,      dataType"html",      success: function(msg)      {          $("#reload_prod").html(msg);          $.getScript('/js/funzioni_carrello.js');          $.getScript('/js/script_vari.js');          evt1.preventDefault();              $(".filtro1ricerca").unbind('change');      },      error: function()      {        alert("Si è verificato un errore, si prega di riprovare...");      }    });  evt1.preventDefault();  $(".filtro1ricerca").unbind('change'); 
    nei vari tentativi molti dei quali a caso ho inserito anche
    evt1.preventDefault();
    $(".filtro1ricerca").unbind('change') o $(".filtro1ricerca").unbind('click');

    ma non ha funzionato...

    dove sbaglio?

    Grazie a tutti per le risposte

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Formatta il codice che sia leggibile, e posta anche html (no php solo html)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    144
    L'html sono qualche centinaio di righe...
    Ti metto la select basta?

    codice:
    <div class="filter"><b class="hidden-xs">Ordina per</b>
                      <select id="filtro1ricerca">
                      <option value="prezzo" selected="selected">Prezzo</option>
                      <option value="nome">Nome</option>
                     
                      </select>
                    </div>
    codice:
    $( "#filtro1ricerca" ).change(function(evt1) 
    { 
    var parola=$('#parola').html(); 
    var ordinamento=$('#filtro1ricerca').val(); 
     $.ajax({ 
         type: "POST", 
         url: "/_ext/include/prodotti_ricerca_filtri.php", 
         data: "op=filtro&parola="+parola+"&ordinamento="+ordinamento, 
         dataType: "html", 
         success: function(msg)      {
              $("#reload_prod").html(msg); 
             $.getScript('/js/funzioni_carrello.js'); 
             $.getScript('/js/script_vari.js'); 
             evt1.preventDefault(); 
                 $(".filtro1ricerca").unbind('change'); 
         }, 
         error: function()      { 
           alert("Si è verificato un errore, si prega di riprovare...");      
    }    
    });  
    evt1.preventDefault();  $(".filtro1ricerca").unbind('change');
    });

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Link alla pagina pubblica cosi da testare lo script, togliendo evt1.preventDefault(); $(".filtro1ricerca").unbind('change'); che essendo scritti a casaccio fanno solo casino e ricordami lo scopo dello script.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2025 vBulletin Solutions, Inc. All rights reserved.