variabili e jquery: come catturare il valore e usarli (parte 2)

questo è il mio problema:

Ho catturato una variabile da una lista ul-li

Ho una lista con molti nomi: Roma, Milano, Venezia … Catturo il valore id di questi (pulsante1 per Roma, pulsante2 per Milano, pulsante3 per Venezia, …) con un evento mouseover (cerca questo variabili di domanda e jquery: come valore di cattura (parte 1) se vuoi saperne di più).

Quindi, ora ho una variabile globale chiamata $ regionMap e il suo contenuto cambia ogni volta che l’elenco ul-li ha un evento mouseover. Quindi, ora potrei usare il valore $ regionMap invece dei diversi valori id ( pulsante1, pulsante2, pulsante3 … ) in altri script jquery.

Ad esempio ho questo ciclo:

$('#pulsante1').mousedown(function() // when click over pulsante1 (id value for "Roma") { var $variab=document.getElementById('pulsante1').innerHTML; // take the name (here Roma) var $alfa="#"+ $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog rolling on #Roma value. }); // here is similar at the first but instead #pulsante1(Roma) you have #pulsante2 (Milano) $('#pulsante2').mousedown(function() { var $variab=document.getElementById('pulsante2').innerHTML; var $alfa="#"+ $variab; alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog }); });//close click 

Ora, vorrei usare $ regionMap invece pulsante1, pulsante2 … ma per me è imansible! Provo così $($regionMap).mousedown(function() e in altro modo ( $($regionMap)., ($regionMap)., $('$regionMap'). ….),

ma non ho mai avuto risultati! Come posso fare? Sai come passare una variabile?

Penso che probabilmente c’è un modo migliore per ottenere risultati simili (ad esempio con un ciclo * per in *) ma non so come farlo …

Scusate per il mio lungo post e mi dispiace per l’inglese basico, ma non sono uno sviluppatore e sono andato in un grande TILT!

Grazie

Dopo aver esaminato la tua altra domanda, prova questo.

 $('#country_list').mousedown( function( e ) { // e.target is the element you clicked var $variab = e.target.innerHTML; var $alfa= '#' + $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); }); 

Il #country_list elemento #country_list ascolterà qualsiasi evento falso. Quando si verifica ciò, è ansible trovare l’elemento che ha generato l’evento con e.target .

potresti provare qualcosa come …

 $( $regionMap ).each( function (i,el) { $( el ).mousedown(function() // when click over pulsante1 (id value for "Roma") { var $variab=el.innerHTML; // take the name var $alfa="#"+ $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog rolling on #Roma value. }); }); 

Questo passerà in rassegna ciascuno degli id ​​in regionMap e applicherà la funzione di callback a ciascuno di essi.

JQuery ogni funzione applica la funzione di callback a ciascun elemento della raccolta. la raccolta in questo caso è la tua lista di id. [ ‘# Pulsante1’, ‘# pulsante2’]

http://api.jquery.com/jQuery.each/

Usa questo codice per associare tutti gli eventi:

 $($regionMap).children('li').mousedown(function() { alert("You entered: " + this.id); dialog(this.id); }); 

Ciò vincolerà l’evento a ciascun indirizzo all’interno della mappa e gestirà l’evento separatamente.