Ich habe ein Panel, das einen Bearbeitungsstatus und einen Ansichtszustand hat. Ich brauche ein Steuerelement, das basierend auf dem Status des Bereichs zwischen TextField und Label wechselt. Im Bearbeitungsstatus würde das Panel beispielsweise als TextField angezeigt und das gleiche Feld würde als Label im Ansichtszustand angezeigt.Wicket: Erstellen Sie Steuerelement, das zwischen einem Textfeld und einem Label wechselt
Dies ist sehr ähnlich der AjaxEditableLabel
, aber es ist nicht das Gleiche. Ich ändere mehrere Labels in meinem Formular gleichzeitig in TextFields.
Zusätzlich zum Austauschen von Steuerelementen möchte ich weiterhin die Vorteile von wicket:for
nutzen. Hier ist ein vorgeschlagene Markup Beispiel:
<label wicket:for="firstNm"><wicket:message key="firstNm" /></label><br />
<span wicket:id="firstNm"></span>
Ich mag wäre in der Lage sein, weiterhin HTML hinzufügen, um die TextField- Attribute. Es wäre möglich, sie aus dem span-Tag in onComponentTag zu kopieren. Zum Beispiel:
<span wicket:id="firstNm" maxlength="30"></span>
... könnten die folgend im Bearbeitungsmodus machen:
<input type="text" maxlength="30" />
Ich habe auch an den ViewOrEdit control in visural-wicket sehe, aber ich glaube nicht, es mit Schlupf funktioniert: für.
Wissen Sie, TextField (und Familie) hat setEnable (false), das ist fast Label? –
Ja, tat ich. Ich habe schon darüber nachgedacht, nur CSS zu verwenden, aber ich habe es nicht mit einem deaktivierten Feld kombiniert. Das ist hilfreich, aber ich denke nicht, dass es vollständig funktionieren wird. Ich muss eine Lösung für mehr als nur ein TextField implementieren. Ich brauche das gleiche für eine DropDownChoice und Radio-Buttons. Bei Optionsfeldern wird nur der ausgewählte Wert angezeigt. CSS-Tricks sind also nicht so einfach. – JeredM