Mehrere Möglichkeiten zum Ändern der SELECT-Optionen in einer HTML-Dropdown-Box

Mehrere Möglichkeiten zum Ändern der SELECT-Optionen in einer HTML-Dropdown-Box
Nachdem das Formular übermittelt wurde, wird die zurückgegebene HTML-Seite erneut gerendert und weder der Wert noch das selectedIndex-Attribut des SELECT-Steuerelements können bewirken, dass das Dropdown-Feld den Status vor der Übermittlung des Formulars beibehält.

Code kopieren
Der Code lautet wie folgt:

<SELECT id="idState" style="width:150" name="state" selectedIndex="$!{state}">
<OPTION value="">Alle</OPTION>
<OPTION value="1">Bestehen</OPTION>
<OPTION value="2">Nicht bestanden</OPTION>
<OPTION value="3">Ausstehend</OPTION>
</AUSWÄHLEN>

Eine vorübergehende Lösung besteht darin, am Ende der VM-Datei ein Skript hinzuzufügen, um dem Dropdown-Feld einen Wert zuzuweisen :

Code kopieren
Der Code lautet wie folgt:

<Skript>
$('#idState').val('$!{state}');
</Skript>

Eine andere Lösung besteht darin, eine Standardauswahl festzulegen :

Code kopieren
Der Code lautet wie folgt:

<SELECT id="idState" style="width:150" name="state" value="$!{state}">
<OPTION value="">Alle</OPTION>
<OPTION value="1">Bestehen</OPTION>
<OPTION value="2" SELECTED>Nicht bestanden</OPTION>
<OPTION value="3">Ausstehend</OPTION>
</AUSWÄHLEN>

Die VTL-Schreibweise ist :

Code kopieren
Der Code lautet wie folgt:

<SELECT id="idState" style="width:150" name="state" value="$!{state}">
<OPTION value="">Alle</OPTION>
<OPTION #if($!{state} == 1) AUSGEWÄHLT #end value="1">Bestehen</OPTION>
<OPTION #if($!{state} == 2) SELECTED #end value="2">Nicht bestanden</OPTION>
<OPTION #if($!{state} == 3) SELECTED #end value="3">Zu verarbeiten</OPTION>
</AUSWÄHLEN>

Dabei ist zu beachten, dass Velocity bei der Durchführung von ==-Vergleichen zwischen Typen unterscheidet. Bei einem Vergleich mit den Zeichenfolgen „1“, „2“ und „3“ wird immer „false“ zurückgegeben.
Vergleichsprobleme bei der Geschwindigkeit <br />Bei der Geschwindigkeit sind Vergleiche, insbesondere solche mit Ungleichheitsvergleichen (größer als oder kleiner als), schwierig umzusetzen. Nun möchte ich die Dateigröße auf der Seite in Kategorien (Bytes, MB, GB) anzeigen, was das Problem des Vergleichs der Dateigrößen mit sich bringt. Gibt es eine bessere Möglichkeit, dies zu erreichen?
Beispielsweise der folgende Code:

Code kopieren
Der Code lautet wie folgt:

#wenn ($Dateigröße > 1024 und $Dateigröße < 1048567)
#set($ksize = $dateigröße%1024)
<div class="mlt">Dateigröße: $ksize KB
#elseif ($Dateigröße > 1048567 und $Dateigröße < 1073731824)
#set($msize=$dateigröße%1048567)
<div class="mlt">Dateigröße: $msize MB
#elseif ($Dateigröße > 1073731824)
#($gsize=$dateigröße%1073731824)
<div class="mlt">Dateigröße: $gsize GB
#anders
<div class="mlt">Dateigröße: $filesize Bytes
#Ende


Code kopieren
Der Code lautet wie folgt:

<PRE class=html name="code"><SPAN style="SCHRIFTFAMILIE: Arial, Helvetica, serifenlos"><SPAN style="WHITE-SPACE: normal">
</SPAN></SPAN></PRE>
<PRE></PRE>
<PRE></PRE>
<PRE></PRE>

<<:  Beispiele und bewährte Vorgehensweisen für die Seitennummerierung

>>:  So rufen Sie das VMware Esxi-Root-Passwort erfolgreich ab, wenn Sie es vergessen haben

Artikel empfehlen

So stellen Sie zabbix_agent in Docker bereit

zabbix_agent-Bereitstellung: Empfehlung: zabbix_a...

IE8 bietet eine gute Erfahrung: Aktivitäten

Heute habe ich einen kleinen Vorgeschmack auf IE8...

Zusammenfassung der Fallstricke bei Virtualbox Centos7 NAT+Host-Only-Netzwerken

Inhaltsverzeichnis 1. Problemhintergrund 2. Welch...

SQL-Gruppierung zum Entfernen von Duplikaten und Sortieren nach anderen Feldern

brauchen: Identische Elemente eines Feldes zusamm...

Detaillierte Erklärung gängiger Befehle im Docker-Repository

Einloggen Docker-Anmeldung Schließen Sie die Regi...

Praxis der mehrschichtigen verschachtelten Anzeige von Elementtabellen

Es wird eine Liste mit mehreren Bestellungen benö...

Codeanalyse von Benutzervariablen in MySQL-Abfrageanweisungen

Im vorherigen Artikel haben wir die MySQL-Optimie...

Beispielcode zur Realisierung des Ladeeffekts der B-Station mit CSS+SVG

Schwierigkeit Erstellung von zwei Masken für SVG-...

Das Phänomen des Margin-Top-Collapses und die spezifische Lösung

Was ist ein Margin-Top-Collaps? Der Margin-Top-Co...

Vue verwendet WebSocket, um die Chat-Funktion zu simulieren

Der Effekt zeigt, dass sich zwei Browser gegensei...

Lösung für die Docker-Befehlsausnahme „Zugriff verweigert“

Installieren Sie Docker im Linux-System neu und g...