Originariamente inviato da costi31
qui però viene usato anche javascript per sostituire gli input con degli span che li simulano.
perchè appunto non puoi ancora rinunciare alla grafica di default, devi metterli in hidden e nasconderli dalla posizione per poi gestirli via javascript.

Io non lo farei anche perchè per l'evento non ti serve necessariamente uno span di fianco, puoi semplicemente gestirlo dal parent per selezionare/deselezionare