Hallo Leute,
Wie der Titel schon sagt, möchte ich eine Liste realisieren, die auf Klick auswählt und auch die alten Auswahlen beibehält. Und bei nochmaligem Klick auf ein ausgewähltes Feld es deakiviert.
Habe hier einen Code der das bis auch eine Kleinigkeit realisiert, nämlich:
ich kann die Liste nie ganz leer machen, ein Element bleibt immer ausgewählt, kann mir da jemand helfen?
FormTest
<!–
var old_select = new Array(5);
function readForm()
{
var new_select = new Array(document.Testform.Auswahl.length);
//Aktuelle Selectierung in Array eintragen
for(var i=0; i < document.Testform.Auswahl.length; i++)
{
if(document.Testform.Auswahl.selectedIndex == i)
{
new_select[i]=1;
}
else
{
new_select[i]=0;
}
}
// alte mit neuer Selectierung vergleichen (XOR) - nur bei Änderungen, bei Gleichheit nicht 0
for(var c=0; c<document.Testform.Auswahl.length;c++)
{
if(old_select[c] == 1 && new_select[c] == 1)
{
old_select[c] = 0;
new_select[c] = 0;
}
old_select[c] |= new_select[c];
}
// Selectierung durchführen
for(var c=0; c<document.Testform.Auswahl.length;c++)
{
if(old_select[c] == 1)
document.Testform.Auswahl.options[c].selected = true;
else
document.Testform.Auswahl.options[c].selected = false;
}
}
function init()
{
old_select[0]=0;
old_select[1]=0;
old_select[2]=0;
old_select[3]=0;
old_select[4]=0;
}
//–>
test1test2test3test4test5