Potresti evitare JavaScript se ti dessi una mano col CSS… ti mando un esempio scritto al volo (da rendere cool)…
codice:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Records menu</title>
<style type="text/css">
fieldset.records-menu {
position: relative;
display: block;
width: auto;
height: auto;
border: none;
margin: 0;
padding: 36px 4px 4px 8px;
background: yellow;
overflow: visible;
}
fieldset.records-menu > nav {
position: absolute;
top: 0;
left: 0;
box-sizing: border-box;
width: auto;
z-index: 101;
overflow: hidden;
background: #ffffff;
cursor: default;
border-radius: 10px;
border: 2px #cccccc solid;
padding: 4px;
margin: 0;
}
fieldset.records-menu > nav > * {
display: block;
width: auto;
height: 20px;
border: none;
margin: 0;
padding: 0;
}
fieldset.records-menu > nav legend {
padding: 0 24px 0 0;
min-width: 150px;
}
fieldset.records-menu > nav legend::after {
width: 24px;
content: "\2335";
top: 0;
right: 0;
position: absolute;
text-align: center;
font-style: normal;
cursor: default;
}
fieldset.records-menu > nav > label {
padding: 1px;
}
fieldset.records-menu > nav > label:hover {
background: #5555ff;
}
fieldset.records-menu ul {
position: relative;
left: 0;
top: 0;
list-style-type: none;
z-index: 100;
padding: 0;
margin: 0;
}
fieldset.records-menu input[type="checkbox"],
fieldset.records-menu input[type="checkbox"] ~ span,
fieldset.records-menu > nav label {
display: none;
}
fieldset.records-menu input[type="checkbox"]:checked ~ span,
fieldset.records-menu > nav:hover label {
display: block;
}
fieldset.records-menu input[type="checkbox"] ~ span > label {
color: #ff0000;
font-weight: bold;
cursor: pointer;
}
</style>
</head>
<body>
<form name="tuoForm" action="test.php">
<fieldset class="records-menu">
<nav>
<legend>— seleziona elementi —</legend>
<label for="elem1">Elemento #1</label>
<label for="elem2">Elemento #2</label>
<label for="elem3">Elemento #3</label>
<label for="elem4">Elemento #4</label>
</nav>
<ul>
<li>
<input id="elem1" type="checkbox" name="nome_campo[]" value="valore1" />
<span><label for="elem1" title="Rimuovi">✗</label> Selezionato #1</span>
</li>
<li>
<input id="elem2" type="checkbox" name="nome_campo[]" value="valore2" />
<span><label for="elem2" title="Rimuovi">✗</label> Selezionato #2</span>
</li>
<li>
<input id="elem3" type="checkbox" name="nome_campo[]" value="valore3" />
<span><label for="elem3" title="Rimuovi">✗</label> Selezionato #3</span>
</li>
<li>
<input id="elem4" type="checkbox" name="nome_campo[]" value="valore4" />
<span><label for="elem4" title="Rimuovi">✗</label> Selezionato #4</span>
</li>
</ul>
</fieldset>
<form>
</body>
</html>
Il risultato non mi fa impazzire cmq…