edebroMedlem sedan aug. 2001289 inlägg
Jag vill kunna markera alla val i en SELECT-ruta med multipla val (multiple).
Något sånt här borde fungera enligt mig, men uppenbarligen inte;
<html>
<body>
<script language="javascript">
function selectAll() {
var options = document.mikael.selectMany.options.length;
for (i=0;i<=options;i++) {
document.mikael.selectMany.options[i].selected;
}
}
</script>
<form name="mikael">
<select name="selectMany" size="6" multiple>
<option value="ksks">Val ett</option>
<option value="ksks2">Val två</option>
<option value="ksks3">Val tre</option>
<option value="ksks4">Val fyra</option>
<option value="ksks5">Val fem</option>
</select><br>
<button onClick="selectAll()">Select all</button>
</form>
</body>
</html>
Om någon kan knäcka denna nöt är jag väldigt tacksam.
Mvh
Peter SMedlem sedan dec. 20025 484 inlägg
Du fick nästan till det :bire
function selectAll() {
var options = document.mikael.selectMany.options.length;
for (i=0;i<options;i++) {
document.mikael.selectMany.options[i].selected = [b]true[/b];
}
}
Notera att for-loopen endast skall köras så länge "i" är mindre än "options", samt att du måste sätta "document.mikael.selectMany.options*.selected" till "true".
:)*
edebroMedlem sedan aug. 2001289 inlägg
ahhh, givetvis måste man även sätta den till true *dunkar skallen i skrivaren*
Tack som faan för upplysningen :beer
edebroMedlem sedan aug. 2001289 inlägg
Bifogar mitt färdiga script om någon skulle behöva det i framtiden;
<html>
<body>
<script language="javascript">
var allSelected = false;
function selectAll() {
var options = document.mikael.selectMany.options.length;
if (allSelected) {
for (i=0;i<options;i++) {
document.mikael.selectMany.options[i].selected = false;
}
allSelected = false;
document.mikael.button1.value = "Select all";
} else {
for (i=0;i<options;i++) {
document.mikael.selectMany.options[i].selected = true;
}
allSelected = true;
document.mikael.button1.value = "Deselect all";
}
}
</script>
<form name="mikael">
<select name="selectMany" size="6" multiple>
<option value="ksks">Val ett</option>
<option value="ksks2">Val två</option>
<option value="ksks3">Val tre</option>
<option value="ksks4">Val fyra</option>
<option value="ksks5">Val fem</option>
</select><br>
<button name="button1" onClick="selectAll()">Select all</button>
</form>
</body>
</html>
Denna kan även avmarkera alla och ändrar texten på knappen.
solbulleMedlem sedan mars 20014 998 inlägg
Liten bugg är att om man markerar ett val o trycker på knappen så stämmer inte texten på den.
edebroMedlem sedan aug. 2001289 inlägg
Hoppsan, här jag får ta och redigera inlägget en aning ;D
nkrantzMedlem sedan apr. 2002755 inlägg
hur skulle man göra detta script om selectboxen heter area_id[]? Någon som vet?
// Nippe
JojoxxMedlem sedan juni 20004 306 inlägg
Byt ut selectMany mot elements['area_id[]']