Ergebnis 1 bis 3 von 3

Thema: Auflistung der Verteiler von Checkbox auf Select umstellen

  1. #1
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    415

    Standard Auflistung der Verteiler von Checkbox auf Select umstellen

    Ich versuche gerade im nl_default Template die Auflistung der zur Verfügung stehenden Verteiler von einer Checkboxliste auf eine <select> Liste umzubauen.

    Alter Code:
    HTML-Code:
     <div class="widget widget-checkbox">
              <fieldset id="ctrl_channels_<?= $this->id ?>" class="checkbox_container">
                <legend class="invisible"><?= $this->channelsLabel ?></legend>
                <?php foreach ($this->channels as $id => $title): ?>
                  <span><input type="checkbox" name="channels[]" id="opt_<?= $this->id ?>_<?= $id ?>" value="<?= $id ?>" class="checkbox"<?php if (is_array($this->selectedChannels) && in_array($id, $this->selectedChannels)): ?> checked<?php endif; ?>> <label for="opt_<?= $this->id ?>_<?= $id ?>"><?= $title ?></label></span>
                <?php endforeach; ?>
              </fieldset>
            </div>
    Output im Frontend:
    HTML-Code:
    <div class="widget widget-checkbox">
              <fieldset id="ctrl_channels_17" class="checkbox_container">
                <legend class="invisible">Verteiler</legend>
                              <span><input type="checkbox" name="channels[]" id="opt_17_3" value="3" class="checkbox"> <label for="opt_17_3">Bar Berlin City West</label></span>
                              <span><input type="checkbox" name="channels[]" id="opt_17_2" value="2" class="checkbox"> <label for="opt_17_2">Bar Allgemein</label></span>
                          </fieldset>
            </div>
    Neuer Code:
    HTML-Code:
    <div class="widget widget-select select">
                <select id="ctrl_channels_<?= $this->id ?>" name="select-channel" class="select">
                <?php foreach ($this->channels as $id => $title): ?>
                  <option name="channels[]" id="opt_<?= $this->id ?>_<?= $id ?>" value="<?= $id ?>"<?php if (is_array($this->selectedChannels) && in_array($id, $this->selectedChannels)): ?> selected<?php endif; ?>><?= $title ?></option>
                <?php endforeach; ?>
                </select>
            </div>
    Output im Frontend:
    HTML-Code:
    <div class="widget widget-select select">
                <select id="ctrl_channels_17" name="select-channel" class="select">
                              <option name="channels[]" id="opt_17_3" value="3">Bar Berlin City West</option>
                              <option name="channels[]" id="opt_17_2" value="2">Bar Allgemein</option>
                            </select>
            </div>
    Ich habe sogar die eigentlich unnötigen name und id Attribute für die <option>s mitgenommen.
    Leider erkennt Contao die auswahl nicht und meckert im Frontend, dass kein Verteiler gewählt wurde.

    Wie bekomme ich das hin? Was fehlt Contao zur Erkennung?

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.312
    Partner-ID
    10107

    Standard

    Der Name des <select> muss channels[] sein. <option>s haben kein name Attribut.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    415

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Der Name des <select> muss channels[] sein. <option>s haben kein name Attribut.
    So einfach kann es sein

    Danke!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •