etreu Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 Ich will per Javascript die Anzahl der gewählten Options einer Liste prüfen. Wenn ich mit der Maus in die Liste klicke, die Taste gedrückt halte und dann mehrere Einträge selektiere, bekomme ich die Anzahl über onChange ausgegeben. Wenn ich aber die STRG-Taste gedrückt halte, um nicht zusammenhängende Einträge zu selektieren, wird onChange nicht aufgerufen? Welchen EventHandler muss ich denn nehmen, damit ich auch mit der STRG-Taste arbeiten kann? Zitieren
kills Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 hm du könntest zusätzlich zum onChange ein onKeyPress nehmen. Andererseits, könntest du auch nur mit onClick arbeiten... Zitieren
etreu Geschrieben 1. Juli 2004 Autor Geschrieben 1. Juli 2004 onClick hilft mir hierbei gar nicht. Aber zusätzlich mit onKeyPress funktioniert es. Na gut, soviel zum Thema Logik. Zitieren
kills Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 vielleicht ein onClick bei den options? Zitieren
etreu Geschrieben 1. Juli 2004 Autor Geschrieben 1. Juli 2004 Habe ich echt schon alles durch. Zitieren
geloescht_JesterDay Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 In JavaScript besitzt ein Option-Tag die Eigenschaft Selected. Du könntest also deine Liste in JS durchgehen und darauf prüfen wenn du es brauchst, nicht die beim Click merken das geklickt wurde. Wenn ich 2 mal auf eine Option klicke ist sie ja nicht mehr gewählt, oder wie fängst du das ab? Zitieren
kills Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 brauchst du die anzahl der markierten einträge zur laufzeit, oder beim abschicken eines formulars? Zitieren
kills Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 In JavaScript besitzt ein Option-Tag die Eigenschaft Selected. Du könntest also deine Liste in JS durchgehen und darauf prüfen wenn du es brauchst, nicht die beim Click merken das geklickt wurde. Wenn ich 2 mal auf eine Option klicke ist sie ja nicht mehr gewählt, oder wie fängst du das ab? das wäre natrülich auch eine gute möglichkeit. einfach per for-schleife durch die liste der optionen "loopen" und dabei einen zähler hochsetzen. am schluss den zähler zurückgeben und fertig. so müsstest du dir dann halt bei jedem aufruf die anzahl der markieren werte herausholen. du könntest auch ma nen stückel code posten Zitieren
etreu Geschrieben 1. Juli 2004 Autor Geschrieben 1. Juli 2004 <script type="text/javascript"> function checkCount(select){ var counter = 0; var items = new Array(); var i; for(i=0; i<select.options.length; i++){ if (select.options[i].selected) { counter++; items.push(i); } } if (counter > 5) { for(i=0; i<items.length; i++){ select.options[items[i]].selected = false; } return false; } } </script> // ... <select onchange="javascript:checkCount(this)"> [/PHP] Zitieren
kills Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 du willst also bewerkstelligen, das man nicht mehr als 5 Einträge markieren kann? Zitieren
etreu Geschrieben 1. Juli 2004 Autor Geschrieben 1. Juli 2004 Genau. Wie gesagt, jetzt funktioniert es auch so wie es soll. War ja nicht für mich, sondern für einen Kollegen von mir. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.