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 verwenden Sie den JS-Code-Compiler Monaco

Vorwort Meine Anforderungen sind Syntaxhervorhebu...

So überwachen Sie globale Variablen im WeChat-Applet

Ich bin kürzlich bei der Arbeit auf ein Problem g...

JavaScript Canvas realisiert farbenfrohen Sonnenhalo-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

border-radius-Methode zum Hinzufügen abgerundeter Ränder zu Elementen

border-radius:10px; /* Alle Ecken sind mit einem ...

JavaScript navigator.userAgent erhält Browserinformationen – Fallerklärung

Der Browser ist für uns wahrscheinlich das vertra...

So beheben Sie den abnormalen Start von mysql5.7.21

Ein Kollege meldete, dass eine MySQL-Instanz aufg...

Tutorial zur Installation und Konfiguration von VMware Tools für Ubuntu

Vor einiger Zeit hat der Blogger das Ubuntu-Syste...

JavaScript-Simulationsrechner

In diesem Artikel wird der spezifische Code des J...

Beschreibung der Nginx-Zugriffsprotokoll- und Fehlerprotokollparameter

veranschaulichen: Es gibt zwei Haupttypen von Ngi...

Beispiel zum schnellen Löschen einer 2T-Tabelle in MySQL in Innodb

Vorwort Dieser Artikel stellt hauptsächlich den r...

Löschvorgang für Docker-Volumes

prune Um diesen Befehl verwenden zu können, müsse...