[medium -hard] Jquery Button & Function w param
[medium -hard] Jquery Button & Function w param postato il 21/12/2009 12:58:05 nel forum programmazione, open source e hosting e modificato da tdl - staff il 21/12/2009 12:59:26
Ciao!
Volevo sapere...
io ho un input type button e una funziona faiQualcosa(parametro)...
come diavolo faccio, tramite jquery a richiamare quella funzione?
avevo pensato a $.fn.myFunc = function (param) { alert(param); }
e poi $('#mybutton').myFunc(param);
però... mi dice che param is not define. Ancora peggio se levo param dalla funzione mentre se non lo levo funziona tutto ma ovviamente param è undefined.
Poi ho pensato di mettere un attributo pippo al mio bottone e dare a questo attributo il valore param. Ho quindi riscritto la mia funzione così:
$.fn.myFunc = function (param) {
var p = $(this).attr('pippo');
alert(p);
}
ma fa l'alert solo al reload della pagina. Penso di essere vicino ma mi manca qualcosa...
Quindi la mia domanda è: come faccio a passare un parametro tramite bottone ad una mia funzione creata con jquery? O ancora meglio come si fa con jQuery a fare una cosa normalissima tipo:
<input id=mybttn type=button onClick=myfunc(param)>
<script type='text/javascript'>
function myfunc(param) {
alert(param);
}
</script>
I need help!
thx!!!
Pagine → 1
21/12/2009 13:26:25
non riesco a capire se sei rimasto astratto lungo tutto l'esempio o se è davvero quello ciò che hai digitato.
Perchè se il caso è il secondo se param non lo istanzi o se non lo metti tra ' ' trasformandolo in una stringa dal valore "param" è normale che lui non te lo trovi.
21/12/2009 14:46:03
Ma guarda, premesso che sono rimasto astratto, forse mi sono espresso male io nel messaggio precedente.
Praticamente io vorrei creare una funzione che accetta dei parametri e associarla ad un input type button che passa 1 parametro a questa funzione dentro all'evento onClick, il tutto tramite jQuery e più precisamente dentro alla
$(document).ready(function() { ... }
Il problema è che istanziando la funzione dentro a $(document).ready fa le bizze. Non riesco a capire dove sbaglio.
21/12/2009 15:02:14
Che tipo di bizze fa? Dovresti associare l'evento onClick alla funzione che vuoi chiamare e all'elemento. Credo che in questo link troverai ciò che ti serve:
http://www.webair.it/blog/2009/02/13/jquery-tutorial-imparare-ad-usare-jquery-da-zero/ ↗
21/12/2009 15:30:34 e modificato da clemence il 21/12/2009 15:33:59
$(document).ready(function(){
$('#button').click(function(e) {myfunc(param);});
});
(e) puoi ometterlo se non ti interessa passare informazioni sul listener.
21/12/2009 16:18:17
Okay fino a qua c'ero.
Quello che vorrei capire è come faccio a passare 'param' alla funzione dal bottone (siccome i bottoni sono tanti e generati dinamicamente nn posso scriverglielo a mano).
21/12/2009 16:23:14
la cosa è un peletto più complicata, non impossibile, ma complicata.
Innanzitutto non puoi più intercettare un id, ma devi per forza intercettare una classe.
quando crei i pulsanti via db gli assegni la stessa classe e un id in cui gli passi questo parametro (che immagino sia sempre un id di db)
quindi fai qualcosa tipo
<input type="button" id="a_{dinamico valore php}" class="piuPulsanti" />
a quel punto ricorsivamente leggi il valore di id dei pulsanti e splitti su _ per recuperarti il valore del parametro che ti serve passare e li lo passi alla funzione.
21/12/2009 16:23:46
Questo è il metodo che mi viene in mente più facile e veloce.
Probabilmente si può fare in maniera più performante.
21/12/2009 16:31:26
panico paura...
e se creo un nuovo attributo al pulsante e leggo quell'attributo?
21/12/2009 16:41:40
Scusa, ma non devi leggere degli attributi diversi per ogni pulsante creato?
21/12/2009 17:14:30
tdl - staff ha scritto: panico paura...
e se creo un nuovo attributo al pulsante e leggo quell'attributo?
e non è male, il problema è la validazione w3c, motivo per cui mi ero "inventato" la questione di usare l'id.
se non te ne frega nulla di quella inventati pure l'attributo.
Che poi, per carità, puoi anche usare il title in effetti, è solo brutto che apparirebbe all'onmouseover.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Tibia ↗
Storie di Agarthi ↗
Sea of Conquest ↗
AlterEgo ↗
Hero Wars ↗
Foundation Galactic Frontier ↗
Seconda Era ↗
World of the Sea Battle ↗
Cafuné ↗
CRSED: F.O.A.D. ↗