Ankündigung

Einklappen
Keine Ankündigung bisher.

Bedingte Anzeige einer Gruppierung mit Mehrfachauswahl

Einklappen
X

Bedingte Anzeige einer Gruppierung mit Mehrfachauswahl

Einklappen
  • Filter
  • Zeit
Alles löschen
neue Beiträge

  • Bedingte Anzeige einer Gruppierung mit Mehrfachauswahl

    Hi,

    wir verwenden aktuell die Version 18.03.

    Ich habe folgendes Problem, welches ich gerne mit der bedingten Anzeige lösen möchte. Eine Gruppierung auf einer Eingabeseite soll nur angezeigt werden, wenn ein bestimmter Wert aus der Mehrfachauswahl ausgewählt wurde. Bekommt man dies nur mittels eines OnChange-Scripts hin oder kann ich es auch über die bedingte Anzeige der Gruppierung lösen?

    Meine folgende Idee hatten keinen Erfolg:
    #set($value = $DC.getValueHolder('distributioncontrolD3BC0EEA'). getValue())
    #if($value == "Sonstiges")
    #set($show_simplegroup2AEB3E34 = true)
    #else
    #set($show_simplegroup2AEB3E34 = false)
    #end

    Mittels dieser Funktion als OnChange Ereignis bekomme ich zumindest den ausgewählten Wert angezeigt. Habe aber keine Ahnung wie ich das in den Velocity Kontext schreiben kann...
    function show_selected_users(){
    var dist = getElement("7ED6A726A1D499C3B46BC7BDAA1721DB8DC24C 21"); /*Mehrfachauswahl distributioncontrol*/
    var items = dist.oUp.getSelectedItems();
    for (index = 0; index < items.length; ++index) {
    console.log(items[index].getValue()+"-"+items[index].getText());
    }
    return true;

    Sehr wahrscheinlich habe ich einen Denkfehler innerhalb der bedingten Anzeige... Vielleicht hat einer eine elegante Lösung für dieses Problem.

    Gruß Johnny

  • #2
    Ob das VTL so funktionieren kann, weiß ich nicht. Ich vermute, dass die Mehrfachauswahl nicht mit getValue() abgefragt werden kann, weil sie ja mehrere Einträge beinhalten kann.
    Ich sehe aber das Problem, dass die bedingte Anzeige gar nicht auf die Benutzeraktion auf der Seite reagiert, weil sie ja beim Laden der Seite abgefragt wird.
    Wenn die Entscheidung zur Anzeige bereits beim Laden der Seite feststeht, könnte man die DG mit den Elementen der Mehrfachauswahl auch per SQL abfragen.
    Wenn die Mehrfachauswahl an ein Textfeld gebunden ist, müsste man dieses auslesen und verarbeiten.

    Mit JS kann man die Gruppierung aber ebenfalls ein- oder ausblenden. Dafür gibt es mehrere Varianten. Das sollte funktionieren:
    Code:
    function showHide {
       var group = getElement([GUID]);
       if ( [Bedingung] ){
          $(group).show();
       }else{
          $(group).hide();
       }
       return true;
    }
    Das könnte also in den bestehenden JS-Code integriert werden.

    Kommentar

    Lädt...
    X