Ho quattro selettori con class="selcalc", e questa funzione:
(uso l'alert per testare il funzionamento...) Ma cambiando il valore di uno dei selettori non accade nulla...codice:$(".selcalc").change(function () { alert("ok"); }) .change();
???
Ho quattro selettori con class="selcalc", e questa funzione:
(uso l'alert per testare il funzionamento...) Ma cambiando il valore di uno dei selettori non accade nulla...codice:$(".selcalc").change(function () { alert("ok"); }) .change();
???
metatad
graphic & web design
POtrebbero esserci più motivi, si potrebbe vedere la pagina completa?
La pagina è qui: http://enricotomaselli.altervista.or.../openstore.htm
Peraltro, c'è anche la funzione remove() che non agisce...
metatad
graphic & web design
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" ); }
Ok, perfetto... con alert funziona.
Pero, ovviamente, a me serve altro, ovvero:
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ò evidentementecodice:$(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); }non rileva l'attributo...codice:var item = $(this).attr('id');
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
Anche se, al posto dell'id, provo a selezionare il valore dell'option ed a visualizzarlo nell'alert
mi restituisce NaN, perchè non lo rileva...codice:var molt = parseInt($("this option:selected").each()); alert(molt);
metatad
graphic & web design
Ok, prova usare "on" anzichè "bind"
Stesso risultato... :-(
metatad
graphic & web design
Okay, risolto (thanx!)
metatad
graphic & web design
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui