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?
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...
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.
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?
kills Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 brauchst du die anzahl der markierten einträge zur laufzeit, oder beim abschicken eines formulars?
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
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]
kills Geschrieben 1. Juli 2004 Geschrieben 1. Juli 2004 du willst also bewerkstelligen, das man nicht mehr als 5 Einträge markieren kann?
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden