Pulldown-Menü, Zeichenanzahl begrenzen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
antworten
anzahl
array
auswahl
boxen
code
datum
element
festlegen
frage
gewisse anzahl
hagen
http
nachname
rosenberg
schrauben
suche
text
url
zeichen
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ekiam schrieb:
Zeichen oder Zeilen?
Kann ich in ein Pulldownfeld in einer HTML-Seite auf eine gewisse Anzahl von Zeichen begrenzen?
Bei HTML legst Du die Anzahl der Zeichen doch selbst fest?
Sollten die angezeigten Zeilen gemeint sein, gehts so:
<select name="top5" size="3"> <option>Heino</option> <option>Michael Jackson</option> <option>Tom Waits</option> <option>Nina Hagen</option> <option>Marianne Rosenberg</option> </select>
http://de.selfhtml.org/navigation/suche/index.htm
Von den 5 zur Auswahl stehenden Namen werden mit
nur 3 angezeigt, der Rest lässt sich scrollen.size="3"
Vielen Dank im voraus für Eure Antworten
*hate* ;) -
Hallo menschle,
Danke für die schnelle Antwort.
Die war allerdings nicht gemeint.
Meine Frage bezog sich auf anzahl Zeichen.
BSP.: NINA HAGEN Herauskommen soll: NINA H
Vielen Dank im voraus
Ekiam
-
Mit HTML selber wirst du da nicht weit kommen.
Wenn du kein PHP nutzt um die Daten zu erstellen wäre das Sinnvollste wohl über Javascript & Regexdie Daten im Nachhinein zu verändern.
Wenn du uns mehr Details darüber gibst, welche Werte genutzt werden und wie deine Seite aufgebaut ist können wir dir besser helfen.
Beitrag zuletzt geändert: 18.12.2013 8:29:27 von tchab -
Hallo tchab,
Ich lese über eine do-while-Schleife (php) verschiedene Produkte ein! Eine ellenlange Liste. Die Produkte haben eine unterschiedliche Größe (Zeichenanzahl mit leerzeichen) in SELECT
Beispiel: Schrauben-6-kant, Schrauben mit Kreuzschlitz, Unterlegscheiben, Mutter 8mm, etc.
Da dies noch recht kurze Produkte sind und ich viel längere Bezeichnungen habe, möchte ich die Zeichen auf eine bestimmte länge begrenzen. Soll heißen:
aus SCHRAUBEN MIT KREUZSCHLITZ soll SCHRAUBEN MIT KREUZ werden.
Geht so etwas und wie?
GRuß
Ekiam -
Hallo
Wenn Dir die DropDown Box zu Breit für Dein Layout / Design ist,
dann kannst Du die Breite der select Box per CSS width festlegen
<select name="top" style="width:140px;"> <option>Michael Jackson</option> <option>Nina Hagen</option> <option>Marianne Rosenberg</option> </select>
Die DropDown Box ist dann genau so breit wie mit CSS festgelegt (hier 140 Pixel)
und bei Auswahl sieht man dann trotzdem den längeren Text der <option> Elemente
Oder du baust die select Box <option> Elemente (per PHP) so zusammen,
dass der Text ein anderer (kürzer) ist als der Wert (value), der übergeben wird.
<select name="top"> <option value="Michael Jackson">M.Jackson</option> <option value="Nina Hagen">N.Hagen</option> <option value="Marianne Rosenberg">M.Rosenberg</option> </select>
Bsp mit PHP und Array (key => value)
$top_data = array( 'M.Jackson' => 'Michael Jackson', 'N.Hagen' => 'Nina Hagen', 'M.Rosenberg' => 'Marianne Rosenberg', ); print "<select name=\"top\">\n"; foreach($top_data as $key=>$val) { print " <option value=\"$val\">$key</option>\n"; } print "</select>\n";
Anstatt den Key schon im Array vorhanden, kann man auch
Array nur mit Werte haben und (mit PHP) kürzen, z.B. mit substr()
aber dann bekommt man oft nur Teil des Vornamen (zu kurz)
hier BSP ... nur die ersten 8 Zeichen im Text
$top_data = array( 'Michael Jackson', 'Nina Hagen', 'Marianne Rosenberg', ); $max_length = 8; // --- maximale Zeichen print "<select name=\"top\">\n"; foreach($top_data as $val) { if ($short_length < strlen($val) { $short = substr($val, 0, $max_length); } print " <option value=\"$val\">$short</option>\n"; } print "</select>\n";
EDIT: ich denke das mit $max_length könnte für Dich das richtige sein,
aber mach es nicht zu kurz, damit noch klar ist, was überhaupt gemeint ist
um vom Wort vor Leerzeichen nur den ersten Buschtabe übrig zu lassen,
könnte mit explode und dann substr von erstem Element davon machen,
$top_data = array( 'Michael Jackson', 'Nina Hagen', 'Marianne Rosenberg', ); print "<select name=\"top\">\n"; foreach($top_data as $val) { $namedata = explode(' ',$val); $vor_name = substr($namedata[0], 0, 1); $nachname = $namedata[1]; $txtshort = $vor_name.'.' '.$nachname; print " <option value=\"$val\">$txtshort</option>\n"; } print "</select>\n";
ist nur ne Idee ... ungetestet ....
es gibt bestimmt auch noch andere Möglichkeiten, z.B. preg_replace mit Pattern
Beitrag zuletzt geändert: 18.12.2013 9:28:50 von webnfo -
Hallo webnfo,
genau soetwas habe ich gesucht.
Vielen Dank für die schnelle Hilfe
Gruß
Ekiam -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage