Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [jQuery plugin] Tooltip con Toolbar.js > inserirne molti sulla stessa pagina

    Ciao,
    sono interessato ad implementare in un mio progetto il plugin Jquery toolbar.js
    Spiego brevemente a cosa mi serve. La pagina utenti.php, tramite una semplice query SQL, mostra l'elenco degli utenti presenti nel database mysql. Accanto al nome di ciascun utente, ho posizionato questo plugin Jquery, affinchè cliccando sull'ingranaggio, appaia la toolbar dei menu che permetta la selezione di una opzione.

    A questo link, trovate l'esempio a cui sono interessato, Horizontal toolbar (bottom):
    http://paulkinzett.github.io/toolbar/

    Ho allegato a questa discussione, un file zippato, contenete il file esempio.html da me modificato e il file index.html che corrisponde all'originale.

    Come noterete, nel file esempio.html sono presenti due icone ingranaggio, delle quali se clicco sulla prima mostra la toolbar, mentre la seconda non la mostra.

    Detto questo ritorno a parlare della pagina utenti.php. Questa pagina, come dicevo prima, mostra l'elenco degli utenti presenti a db e accanto al loro nome ci deve essere l'ingranaggio (come nella pagina esempio.html) e quindi mostrare la toolbar.

    Come faccio a far in modo che la toolbar venga mostrata anche al click sul secondo ingranaggio e così via fino alla fine dell'elenco utenti? (l'elenco può contenere anche 100 utenti) ora come ora funziona solo sulla prima icona in cima alla pagina.


    Grazie
    File allegati File allegati
    Ultima modifica di azocomposto; 02-09-2014 a 00:43

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Dubito che qualcuno si prenderà la briga di scaricare lo zip e simulare il tutto in locale, in questi casi è meglio preparare una pagina demo online e riportare nella discussione il link.
    Il fatto che funzioni solo la prima icona potrebbe essere perché usi (ripeti) lo stesso id per tutti gli utenti, se non è così metti il link alla pagina pubblica.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,695
    Ciao, ho giusto dato una sbirciata al file. Come immaginavo ti sfugge un principio fondamentale. Devi tenere sempre ben presente che gli "id", per gli elementi di un documento html, sono e devono essere sempre irrevocabilmente univoci.
    Questo è sbagliato:
    codice HTML:
    <div id="normal-button-bottom" class="settings-button">  ecc... </div>
    <br><br>
    <div id="normal-button-bottom" class="settings-button">  ecc... </div>
    Non puoi avere lo stesso id su più elementi. Infatti JavaScript se ne accorge e ti fa una pernacchia, come è giusto che sia. Se applichi una qualsiasi cosa a "#normal-button-bottom" sarà preso in considerazione solo il primo elemento con quell'id.

    Per questo motivo esistono le classi, che funzionano un po' come gli id ma possono essere assegnate indistintamente a qualsiasi elemento.

    Sul tuo jQuery puoi quindi usare una cosa del genere:
    codice:
    $('.settings-button').toolbar({content: '#user-options', position: 'bottom'});
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Ciao, ho giusto dato una sbirciata al file. Come immaginavo ti sfugge un principio fondamentale. Devi tenere sempre ben presente che gli "id", per gli elementi di un documento html, sono e devono essere sempre irrevocabilmente univoci.
    Questo è sbagliato:
    codice HTML:
    <div id="normal-button-bottom" class="settings-button">  ecc... </div>
    <br><br>
    <div id="normal-button-bottom" class="settings-button">  ecc... </div>
    Non puoi avere lo stesso id su più elementi. Infatti JavaScript se ne accorge e ti fa una pernacchia, come è giusto che sia. Se applichi una qualsiasi cosa a "#normal-button-bottom" sarà preso in considerazione solo il primo elemento con quell'id.

    Per questo motivo esistono le classi, che funzionano un po' come gli id ma possono essere assegnate indistintamente a qualsiasi elemento.

    Sul tuo jQuery puoi quindi usare una cosa del genere:
    codice:
    $('.settings-button').toolbar({content: '#user-options', position: 'bottom'});
    Ciao,
    prima di tutto grazie per la risposta e semplicità di esposizione.
    Immaginavo fosse quello il problema, perchè consultando altri jquery, l'id era differente per la natura stessa del jquery.

    Ho modificato il jquery come da te indicato nella pagina esempio.html
    codice:
                jQuery(document).ready(function($) {
    
                    // Define any icon actions before calling the toolbar
                    $('.toolbar-icons a').on('click', function( event ) {
                        event.preventDefault();
                    });
                     $('.settings-button').toolbar({content: '#user-options', position: 'bottom'});
                    $('#normal-button').toolbar({content: '#user-options', position: 'top'});
                    $('#normal-button-bottom').toolbar({content: '#user-options', position: 'bottom'});
                    $('#normal-button-small').toolbar({content: '#user-options-small', position: 'top', hideOnClick: true});
                    $('#button-left').toolbar({content: '#user-options', position: 'left'});
                    $('#button-right').toolbar({content: '#user-options', position: 'right'});
                    $('#link-toolbar').toolbar({content: '#user-options', position: 'top' });
                });
    Funziona perfettamente sulla pagina html.
    Ora proverò a visualizzare i dati estraendo i records dal db e vediamo che succede.

    Sei un figo

    Grazie
    Ultima modifica di azocomposto; 03-09-2014 a 20:28

  5. #5
    Quote Originariamente inviata da azocomposto Visualizza il messaggio
    Ciao,
    prima di tutto grazie per la risposta e semplicità di esposizione.
    Immaginavo fosse quello il problema, perchè consultando altri jquery, l'id era differente per la natura stessa del jquery.

    Ho modificato il jquery come da te indicato nella pagina esempio.html
    codice:
                jQuery(document).ready(function($) {
    
                    // Define any icon actions before calling the toolbar
                    $('.toolbar-icons a').on('click', function( event ) {
                        event.preventDefault();
                    });
                     $('.settings-button').toolbar({content: '#user-options', position: 'bottom'});
                    $('#normal-button').toolbar({content: '#user-options', position: 'top'});
                    $('#normal-button-bottom').toolbar({content: '#user-options', position: 'bottom'});
                    $('#normal-button-small').toolbar({content: '#user-options-small', position: 'top', hideOnClick: true});
                    $('#button-left').toolbar({content: '#user-options', position: 'left'});
                    $('#button-right').toolbar({content: '#user-options', position: 'right'});
                    $('#link-toolbar').toolbar({content: '#user-options', position: 'top' });
                });
    Funziona perfettamente sulla pagina html.
    Ora proverò a visualizzare i dati estraendo i records dal db e vediamo che succede.

    Sei un figo

    Grazie
    Ciao,
    grazie al tuo suggerimento sono andato avanti, apportando qualche altra piccola variazione al codice. Ora però ho un piccolo problema, ovvero: la pagina utenti.php, mostra correttamente la lista di tutti gli utenti censiti a sistema, ed accanto allo username ho l'icona, che se cliccata mostra la toolbar con le opzioni. Il problema sta proprio sul link che si genera (gli passo una variabile recuperandola dalla query SQL), e cioè, tutti i link di tutti i pulsanti delle toolbar di ciascun utente, riportano sempre il primo id in cima alla lista.

    Es:
    row opzioni username
    1 edit|delete|share marte
    2 edit|delete|share saturno
    3 edit|delete|share uranio

    I link relativi a edit, delete, share dei record 2 e 3, hanno sempre lo stesso link estratto per la riga 1


    Ho provato ad utilizzare il ciclo while del php ma non funziona, per cui credo che si debba intervenire sul jquery. Giusto?

    Come posso modificare lo script affinchè venga estratto un id differente per ogni record?



    Grazie
    Ultima modifica di azocomposto; 06-09-2014 a 02:15

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,695
    I link relativi a edit, delete, share dei record 2 e 3, hanno sempre lo stesso link estratto per la riga 1
    Non ho ben capito come hai organizzato la cosa. Quale sarebbe questo link di cui parli?

    Intuisco che si tratta di un problema di "riferimenti". Di solito, all'interno di una funzione definita per un dato evento di un qualsiasi elemento, si utilizza la parola chiave "this" (e/o dei selettori gerarchici) in modo da ottenere dei riferimenti sempre relativi a quello stesso elemento da cui è scaturito l'evento.

    Se posti il tuo script aggiornato (o posti un link alla pagina pubblica) ti si può aiutare più facilmente.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Non ho ben capito come hai organizzato la cosa. Quale sarebbe questo link di cui parli?

    Intuisco che si tratta di un problema di "riferimenti". Di solito, all'interno di una funzione definita per un dato evento di un qualsiasi elemento, si utilizza la parola chiave "this" (e/o dei selettori gerarchici) in modo da ottenere dei riferimenti sempre relativi a quello stesso elemento da cui è scaturito l'evento.

    Se posti il tuo script aggiornato (o posti un link alla pagina pubblica) ti si può aiutare più facilmente.
    Grazie per la risposta.
    Sicuramente mi sono spiegato male. In pratica, per link intendo il collegamento cliccabile da ciascuna opzione quale edit | delete | share

    row opzioni username
    1 edit|delete|share marte
    2 edit|delete|share saturno
    3 edit|delete|share uranio

    I link relativi a edit, delete, share dei record 2 e 3, hanno sempre lo stesso link estratto per la riga 1, ovvero te lo spiego con un esempio pratico:
    row 1
    edit --> http://www.dominio.com/edit.php?id=55
    delete --> http://www.dominio.com/delete.php?id=55
    share --> http://www.dominio.com/share.php?id=55

    row 2
    edit --> http://www.dominio.com/edit.php?id=55
    delete --> http://www.dominio.com/delete.php?id=55
    share --> http://www.dominio.com/share.php?id=55

    row 3
    edit --> http://www.dominio.com/edit.php?id=55
    delete --> http://www.dominio.com/delete.php?id=55
    share --> http://www.dominio.com/share.php?id=55


    Come puoi notare, per ciascuna riga, viene sempre ripetuto lo stesso link, ovvero riporta sempre lo stesso id=55

    Ciò di cui non riesco a venirne a capo, è come posso modificare lo script affinchè ottenga un risultato simile:
    row 1
    edit --> http://www.dominio.com/edit.php?id=55
    delete --> http://www.dominio.com/delete.php?id=55
    share --> http://www.dominio.com/share.php?id=55

    row 2
    edit --> http://www.dominio.com/edit.php?id=56
    delete --> http://www.dominio.com/delete.php?id=56
    share --> http://www.dominio.com/share.php?id=56

    row 3
    edit --> http://www.dominio.com/edit.php?id=57
    delete --> http://www.dominio.com/delete.php?id=57
    share --> http://www.dominio.com/share.php?id=57


    Potrebbe essere un problema del jquery, tale per cui non stacca un nuovo id per ciascun div che va a generare dinamicamente a fronte dei dati estratti dalla query?


    Grazie
    Ultima modifica di azocomposto; 10-09-2014 a 21:12

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,695
    Sì, ora ho capito il problema e dopo diverse prove, con esito negativo, ho capito che quel tooltip non è troppo personalizzabile. Quantomeno nel caso di istanze multiple.
    Quando crei istanze multiple della stessa toolbar è difficile manipolarle (perlomeno io non ho capito come poterlo fare in modo semplice, sempre che ne esista uno).

    Ti spiego cosa ho cercato di fare e come invece ho risolto. Una volta assegnata la toolbar ai vari elementi con $('.settings-button').toolbar(ecc...), vengono "clonate" (una per ogni elemento) delle istanze della toolbar di origine e appese infondo al body della pagina.
    Chiaramente ogni istanza della toolbar ha, e deve avere, una qualche relazione coll'elemento a cui questa è associata, ma a livello HTML non è deducibile alcuna relazione con gli elementi a cui sono state associate queste istanze, se non per l'ordine in cui, elementi e istanze, si presentano sul codice HTML.

    Ora, se fosse possibile rintracciare ogni singola toolbar, attraverso un'iterazione dei vari elementi, sarebbe possibile aggiungere in qualche modo un valore all'attributo href delle relative icone. Ovvio che questo valore deve essere relativo all'elemento a cui è associata la toolbar. Ad esempio, se stai usando HTML5, si può pensare di usare un attributo data che potresti popolare da PHP, in cui metterai i valori "55", "56", "57" (come da tuo esempio).

    Il problema è che non sono riuscito a capire come "rintracciare" l'istanza della toolbar attraverso l'elemento a cui questa è associata (se non facendo qualche acrobazia).

    Sulla documentazione è descritto il metodo getToolbarElement che teoricamente, mi è parso di capire, dovrebbe servire proprio a questo. Ho provato ad applicarlo, in svariati modi, agli elementi dopo l'applicazione della toolbar, ma (forse sono ottuso io) non sono riuscito a capire come funziona e non ho trovato nemmeno uno straccio di esempio online (forse ho cercato male)... o forse semplicemente non funziona.
    Se poi qualcuno sa come utilizzare tale metodo, sarei curioso di capirlo anche io.

    L'ultima spiaggia è l'iterazione secondo l'ordine degli elementi, cioè usando l'indice con cui i vari elementi sono disposti nel codice HTML e quindi selezionati da jQuery. Per cui, una volta applicata la toolbar, appesa infondo al body ci sarà una serie di div con classe tool-items, ognuno dei quali è relativo (nell'ordine in cui sono stati creati) ai singoli elementi.
    Non dovrebbero nascere problemi a meno che, sulla stessa pagina, non siano assegnate diverse toolbar a diversi tipi/gruppi di elementi. In tal caso sarebbe difficile gestire la cosa secondo il loro indice di selezione.

    Questo un esempio (chiaramente, da provare dentro la cartella scaricabile dal link in esame):
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <link href="tooltip/documentation.css" rel="stylesheet" />
        <link href="tooltip/jquery.toolbars.css" rel="stylesheet" />
        <link href="http://fonts.googleapis.com/css?family=Lustria" rel="stylesheet" type="text/css">
        <link href="tooltip/bootstrap.icons.css" rel="stylesheet">
        <link href="tooltip/prettify.css" rel="stylesheet">
        <link href="tooltip/sunburst.css" rel="stylesheet">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script src="tooltip/prettify.js"></script>
        <script src="tooltip/jquery.toolbar.js"></script>
        <script type="text/javascript">
          jQuery(document).ready(function($) {
            $('.settings-button')
            .toolbar({content:'#user-options',position:'bottom'})
            .each(function(id){ // iterazione di ogni elemento a cui è applicata la toolbar
              var idUtente = $(this).data("id-utente"); // recupero il valore data-id-utente di questo elemento
              $(".tool-items:eq("+id+")>a.tool-item").attr("href",function(i,val){return val+"?id="+idUtente}); // aggiungo il valore ad href sui link della toolbar relativa (secondo l'indice di selezione) a questo elemento
            });
          });
            </script>
      </head>
      <body onload="prettyPrint()">
        <div data-id-utente="55" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <br>
        <div data-id-utente="56" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <br>
        <div data-id-utente="57" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <div id="user-options" class="toolbar-icons" style="display: none;">
          <a href="http://www.dominio.com/edit.php"><i class="icon-edit"></i></a>
          <a href="http://www.dominio.com/delete.php"><i class="icon-trash"></i></a>
          <a href="http://www.dominio.com/share.php"><i class="icon-star"></i></a>
        </div>
      </body>
    </html>
    Chiaramente potrebbero esserci altre diverse soluzioni... magari meno acrobatiche.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Sì, ora ho capito il problema e dopo diverse prove, con esito negativo, ho capito che quel tooltip non è troppo personalizzabile. Quantomeno nel caso di istanze multiple.
    Quando crei istanze multiple della stessa toolbar è difficile manipolarle (perlomeno io non ho capito come poterlo fare in modo semplice, sempre che ne esista uno).

    Ti spiego cosa ho cercato di fare e come invece ho risolto. Una volta assegnata la toolbar ai vari elementi con $('.settings-button').toolbar(ecc...), vengono "clonate" (una per ogni elemento) delle istanze della toolbar di origine e appese infondo al body della pagina.
    Chiaramente ogni istanza della toolbar ha, e deve avere, una qualche relazione coll'elemento a cui questa è associata, ma a livello HTML non è deducibile alcuna relazione con gli elementi a cui sono state associate queste istanze, se non per l'ordine in cui, elementi e istanze, si presentano sul codice HTML.

    Ora, se fosse possibile rintracciare ogni singola toolbar, attraverso un'iterazione dei vari elementi, sarebbe possibile aggiungere in qualche modo un valore all'attributo href delle relative icone. Ovvio che questo valore deve essere relativo all'elemento a cui è associata la toolbar. Ad esempio, se stai usando HTML5, si può pensare di usare un attributo data che potresti popolare da PHP, in cui metterai i valori "55", "56", "57" (come da tuo esempio).

    Il problema è che non sono riuscito a capire come "rintracciare" l'istanza della toolbar attraverso l'elemento a cui questa è associata (se non facendo qualche acrobazia).

    Sulla documentazione è descritto il metodo getToolbarElement che teoricamente, mi è parso di capire, dovrebbe servire proprio a questo. Ho provato ad applicarlo, in svariati modi, agli elementi dopo l'applicazione della toolbar, ma (forse sono ottuso io) non sono riuscito a capire come funziona e non ho trovato nemmeno uno straccio di esempio online (forse ho cercato male)... o forse semplicemente non funziona.
    Se poi qualcuno sa come utilizzare tale metodo, sarei curioso di capirlo anche io.

    L'ultima spiaggia è l'iterazione secondo l'ordine degli elementi, cioè usando l'indice con cui i vari elementi sono disposti nel codice HTML e quindi selezionati da jQuery. Per cui, una volta applicata la toolbar, appesa infondo al body ci sarà una serie di div con classe tool-items, ognuno dei quali è relativo (nell'ordine in cui sono stati creati) ai singoli elementi.
    Non dovrebbero nascere problemi a meno che, sulla stessa pagina, non siano assegnate diverse toolbar a diversi tipi/gruppi di elementi. In tal caso sarebbe difficile gestire la cosa secondo il loro indice di selezione.

    Questo un esempio (chiaramente, da provare dentro la cartella scaricabile dal link in esame):
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <link href="tooltip/documentation.css" rel="stylesheet" />
        <link href="tooltip/jquery.toolbars.css" rel="stylesheet" />
        <link href="http://fonts.googleapis.com/css?family=Lustria" rel="stylesheet" type="text/css">
        <link href="tooltip/bootstrap.icons.css" rel="stylesheet">
        <link href="tooltip/prettify.css" rel="stylesheet">
        <link href="tooltip/sunburst.css" rel="stylesheet">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script src="tooltip/prettify.js"></script>
        <script src="tooltip/jquery.toolbar.js"></script>
        <script type="text/javascript">
          jQuery(document).ready(function($) {
            $('.settings-button')
            .toolbar({content:'#user-options',position:'bottom'})
            .each(function(id){ // iterazione di ogni elemento a cui è applicata la toolbar
              var idUtente = $(this).data("id-utente"); // recupero il valore data-id-utente di questo elemento
              $(".tool-items:eq("+id+")>a.tool-item").attr("href",function(i,val){return val+"?id="+idUtente}); // aggiungo il valore ad href sui link della toolbar relativa (secondo l'indice di selezione) a questo elemento
            });
          });
            </script>
      </head>
      <body onload="prettyPrint()">
        <div data-id-utente="55" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <br>
        <div data-id-utente="56" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <br>
        <div data-id-utente="57" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <div id="user-options" class="toolbar-icons" style="display: none;">
          <a href="http://www.dominio.com/edit.php"><i class="icon-edit"></i></a>
          <a href="http://www.dominio.com/delete.php"><i class="icon-trash"></i></a>
          <a href="http://www.dominio.com/share.php"><i class="icon-star"></i></a>
        </div>
      </body>
    </html>
    Chiaramente potrebbero esserci altre diverse soluzioni... magari meno acrobatiche.
    Ciao,
    ti ringrazio, sei stato molto chiaro e di grande competenza, in quanto deduco io stesso che posso esser stato anche poco chiaro e difficilmente da spiegare.
    Farò delle prove e ti farò sapere.

    Grazie ancora

  10. #10
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Sì, ora ho capito il problema e dopo diverse prove, con esito negativo, ho capito che quel tooltip non è troppo personalizzabile. Quantomeno nel caso di istanze multiple.
    Quando crei istanze multiple della stessa toolbar è difficile manipolarle (perlomeno io non ho capito come poterlo fare in modo semplice, sempre che ne esista uno).

    Ti spiego cosa ho cercato di fare e come invece ho risolto. Una volta assegnata la toolbar ai vari elementi con $('.settings-button').toolbar(ecc...), vengono "clonate" (una per ogni elemento) delle istanze della toolbar di origine e appese infondo al body della pagina.
    Chiaramente ogni istanza della toolbar ha, e deve avere, una qualche relazione coll'elemento a cui questa è associata, ma a livello HTML non è deducibile alcuna relazione con gli elementi a cui sono state associate queste istanze, se non per l'ordine in cui, elementi e istanze, si presentano sul codice HTML.

    Ora, se fosse possibile rintracciare ogni singola toolbar, attraverso un'iterazione dei vari elementi, sarebbe possibile aggiungere in qualche modo un valore all'attributo href delle relative icone. Ovvio che questo valore deve essere relativo all'elemento a cui è associata la toolbar. Ad esempio, se stai usando HTML5, si può pensare di usare un attributo data che potresti popolare da PHP, in cui metterai i valori "55", "56", "57" (come da tuo esempio).

    Il problema è che non sono riuscito a capire come "rintracciare" l'istanza della toolbar attraverso l'elemento a cui questa è associata (se non facendo qualche acrobazia).

    Sulla documentazione è descritto il metodo getToolbarElement che teoricamente, mi è parso di capire, dovrebbe servire proprio a questo. Ho provato ad applicarlo, in svariati modi, agli elementi dopo l'applicazione della toolbar, ma (forse sono ottuso io) non sono riuscito a capire come funziona e non ho trovato nemmeno uno straccio di esempio online (forse ho cercato male)... o forse semplicemente non funziona.
    Se poi qualcuno sa come utilizzare tale metodo, sarei curioso di capirlo anche io.

    L'ultima spiaggia è l'iterazione secondo l'ordine degli elementi, cioè usando l'indice con cui i vari elementi sono disposti nel codice HTML e quindi selezionati da jQuery. Per cui, una volta applicata la toolbar, appesa infondo al body ci sarà una serie di div con classe tool-items, ognuno dei quali è relativo (nell'ordine in cui sono stati creati) ai singoli elementi.
    Non dovrebbero nascere problemi a meno che, sulla stessa pagina, non siano assegnate diverse toolbar a diversi tipi/gruppi di elementi. In tal caso sarebbe difficile gestire la cosa secondo il loro indice di selezione.

    Questo un esempio (chiaramente, da provare dentro la cartella scaricabile dal link in esame):
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <link href="tooltip/documentation.css" rel="stylesheet" />
        <link href="tooltip/jquery.toolbars.css" rel="stylesheet" />
        <link href="http://fonts.googleapis.com/css?family=Lustria" rel="stylesheet" type="text/css">
        <link href="tooltip/bootstrap.icons.css" rel="stylesheet">
        <link href="tooltip/prettify.css" rel="stylesheet">
        <link href="tooltip/sunburst.css" rel="stylesheet">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script src="tooltip/prettify.js"></script>
        <script src="tooltip/jquery.toolbar.js"></script>
        <script type="text/javascript">
          jQuery(document).ready(function($) {
            $('.settings-button')
            .toolbar({content:'#user-options',position:'bottom'})
            .each(function(id){ // iterazione di ogni elemento a cui è applicata la toolbar
              var idUtente = $(this).data("id-utente"); // recupero il valore data-id-utente di questo elemento
              $(".tool-items:eq("+id+")>a.tool-item").attr("href",function(i,val){return val+"?id="+idUtente}); // aggiungo il valore ad href sui link della toolbar relativa (secondo l'indice di selezione) a questo elemento
            });
          });
            </script>
      </head>
      <body onload="prettyPrint()">
        <div data-id-utente="55" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <br>
        <div data-id-utente="56" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <br>
        <div data-id-utente="57" class="settings-button"><img src="tooltip/icon-cog-small.png" /></div>
        <div id="user-options" class="toolbar-icons" style="display: none;">
          <a href="http://www.dominio.com/edit.php"><i class="icon-edit"></i></a>
          <a href="http://www.dominio.com/delete.php"><i class="icon-trash"></i></a>
          <a href="http://www.dominio.com/share.php"><i class="icon-star"></i></a>
        </div>
      </body>
    </html>
    Chiaramente potrebbero esserci altre diverse soluzioni... magari meno acrobatiche.
    Ciao,
    grazie alla tua disponibilità e professionalità, sono riuscito a sistemare questo plugin. Ora gli id vengono mostrati correttamente in modo sequenziale e senza clonare i div per intenderci.

    Ora leggo la documentazione affinchè possa applicare il mouseover e non l'onclick per far comparire la toolbar.

    Grazie ancora!

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