Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    [Jquery] Funzione on change che non va

    Ho quattro selettori con class="selcalc", e questa funzione:
    codice:
    $(".selcalc").change(function () {
    alert("ok");
      })
    .change();
    (uso l'alert per testare il funzionamento...) Ma cambiando il valore di uno dei selettori non accade nulla...
    ???
    metatad
    graphic & web design

  2. #2
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766
    POtrebbero esserci più motivi, si potrebbe vedere la pagina completa?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    La pagina è qui: http://enricotomaselli.altervista.or.../openstore.htm
    Peraltro, c'è anche la funzione remove() che non agisce...
    metatad
    graphic & web design

  4. #4
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766
    Perchè tu stai assegnando una istruzione a un oggetto che viene creato dinamicamente (elemento con classe ".selcalc"), quindi dopo le istruzioni che creano gli oggetti (a occhio verso la riga 190) devi scrivere una cosa del genere
    codice:
    $(document).bind('change', '.selcalc', test)
       
       function test(){
         alert( "ok" );
        }

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Ok, perfetto... con alert funziona.
    Pero, ovviamente, a me serve altro, ovvero:
    codice:
    $(document).bind('change', '.selcalc', test)function test(){
    	var item = $(this).attr('id');
    	alert(item);
    	if (item == "cat") {
    		var per = parseInt(3);
    	} else if (item == "loc" || item == "map") {
    		var per = parseInt(10);
    	} else if (item == "web") {
    		var per = parseInt(15);
    	}  
    	var molt = parseInt($(".selcalc option:selected").each());
    	var tot = parseInt($("#due").val());
    	var newtot = (per*molt)+tot;
    	$("#due").val(newtot);
    	var newsumm = "Total: € "+newtot+".00";
    	$("#amount").html(newsumm);
    }
    Però l'alert (inserito per verificare) adesso mi restituisce undefined; a me serve poter identificare lo specifico selettore (tra i 4 con class="selcalc") su cui ha agito l'utente... però evidentemente
    codice:
    var item = $(this).attr('id');
    non rileva l'attributo...
    Credo che anche questo sia collegato al fatto che gli elementi sono creati dinamicamente. E probabilmente la stessa cosa vale per la funzione remove(), con la quale provo ad eliminarli se necessario, ma che a sua volta non funziona.
    Dov'è l'inghippo?
    metatad
    graphic & web design

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Anche se, al posto dell'id, provo a selezionare il valore dell'option ed a visualizzarlo nell'alert
    codice:
    var molt = parseInt($("this option:selected").each());	alert(molt);
    mi restituisce NaN, perchè non lo rileva...
    metatad
    graphic & web design

  7. #7
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766
    Ok, prova usare "on" anzichè "bind"

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Stesso risultato... :-(
    metatad
    graphic & web design

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Okay, risolto (thanx!)
    metatad
    graphic & web design

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da metatad Visualizza il messaggio
    Okay, risolto (thanx!)
    Meglio postare la soluzione con relativo codice, che informarci che hai risolto
    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.