Alle selektierten Einträge aus einer Auswahlliste löschen
scope5
- javascript
Hi,
möchte gerne alle selektierten Einträge aus einer Auswahlliste löschen.
Leider klappt mein Versuch nicht richtig, da nach dem Löschen die Einträge nachrutschen.
Meine HTML Seite:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>test</title>
<script type="text/javascript">
<!--
function del(){
var a=document.albumMgmt.Mapping;
for(var i=0;i<a.length;i++){
if(a[i].selected==true) a[i]=null;
}
}
// -->
</script>
</head>
<html>
<body>
<form name='albumMgmt'>
<input type='button' value='remove' onClick='del()'>
<select name="Mapping" size="5" multiple>
<optgroup label='Album1' id='Album1'>
<option value='2'>User2</option>
</optgroup>
<optgroup label='Album2' id='Album2'>
<option value='3'>User3</option>
<option value='1'>User1</option>
</optgroup>
<optgroup label='Album3' id='Album3'>
<option value='3'>User3</option>
<option value='4'>User4</option>
</optgroup>
<optgroup label='Album4' id='Album4'>
<option value='1'>User1</option>
</optgroup>
</select>
</form>
</body>
</html>
ReHi,
Leider klappt mein Versuch nicht richtig, da nach dem Löschen die Einträge nachrutschen.
Du kannst doch einfach alle Elemente in ein Array kopieren und löschst dort die in der Liste selektierten.
Dann löschst Du die Liste komplett und befüllst sie neu aus dem Array.
Gruß,
Stefan
hi,
möchte gerne alle selektierten Einträge aus einer Auswahlliste löschen.
Leider klappt mein Versuch nicht richtig, da nach dem Löschen die Einträge nachrutschen.
also ein problem mit dem zugriffs-index?
var a=document.albumMgmt.Mapping;
for(var i=0;i<a.length;i++){
if(a[i].selected==true) a[i]=null;
wenn du jetzt nummer 3 löschst, "rutscht" also nummer 4 nach, und wird zur neuen nummer 3?
dann könnte es ja evtl. schon helfen, nach dem löschen den schleifenzähler wieder um eins zurückzusetzen.
(sonderfall 0 berücksichtigen.)
gruß,
wahsaga