Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Matrix mit Dropdowns und Freitext (Tutorial Joffm)

  • mi_for
  • mi_for's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
1 year 8 months ago - 1 year 8 months ago #231689 by mi_for
Ihre LimeSurvey-Version: 5.3.21+220620
Eigener Server oder LimeSurvey-Cloud: Eigener Server
Genutzte Designvorlage: fruity
==================
Hallo,
ich versuche gerade basierend auf dem super Tutorial von Joffm (vielen Dank dafür!) eine Matrix zu erstellen, in der Dropdown Felder und Freitexte in den Spalten vorkommen. Ich habe seine Frage Q1a importiert und wollte sie an meine Bedürfnisse anpassen. Sobald ich jedoch etwas am Script ändere, funktionieren die Drop-Downs nicht mehr und es werden mir nur Textfelder angezeigt. .lss ist anbei.
Seine Frage funktioniert bei mir problemlos, also dürfe es kein generelles Problem sein.
Kurz zum Aufbau: Ich würde gerne je Zeile in den ersten beiden Spalten Drop-downs machen, danach zwei Freitextfelder, und dann wieder drei Dropdowns. Dazu habe ich einfach die Spalten im Code spezifziert, die Dropdowns sein sollen, nur funktioniert das nicht. Es werden alle Spalten als Freitext angezeigt. (Streng genommen hätte ich auch gerne einen Datepicker dabei, aber darum kümmere ich mich, wenn es grundsätzlich geht )

Könntet ihr mal auf meinen Code schauen, ob ich wo was falsch habe?

Danke! 
 

File Attachment:

File Name: limesurvey...7328.lss
File Size:30 KB
Last edit: 1 year 8 months ago by mi_for. Reason: Anhang vergessen

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 8 months ago #231696 by Joffm
Hallo,
zunächst "Danke für die Blumen".

Aber

 ob ich wo was falsch habe?

Ja, nicht ganz vollständig kopiert.
Am Ende des "Listeners"-Teils fehlen die schließenden Klammern.
Code:
    // Listeners
    $('.inserted-select', thisQuestion).on('change', function(i) {
      if($(this).val() != '') {
        $(this).closest('.answer-item').find('input:text').val($('option:selected', this).val()).trigger('change');
      }
      else {
        $(this).closest('.answer-item').find('input:text').val('').trigger('change');
      }
    });    // Diese Klammern fehlen bei Dir

Und als kleiner Schönheitsfehler:
Bei 5,6, und 7 fehlt bei Antwort "Ja" der Slash im schließenden </option>

Kleine Anmerkung:
Datepicker ist gut und schön; ich würde aber hier einfach eine Eingabemaske benutzen.
Darüber ist im "Tutorial 2" etwas.

Ansonsten weißt Du ja selbst, dass noch etwas "Schönheit" zumachen ist (verschiedene Spaltenbreiten, evtl. dynamisches Anzeigen der Zeilen)

Joffm

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • mi_for
  • mi_for's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
1 year 8 months ago #231715 by mi_for
. Ich habe schon so etwas befürchtet. Vieeeeelen Dank.
Ich habe in deinem Beispiel die abhängigen Spalten rausgenommen und da habe ich versehentlich die nötigen Klammern mitgelöscht. Ich hätte doch noch mehr Zeit in die Fehlersuche investieren sollen (vor allem, da ich schon fast auf der richtigen Spur war, als ich mir den Code in einem Editor mit Syntax Highlighting angesehen hab). Das kommt davon, wenn man den Code nicht ganz durchblickt.
@Datepicker: Danke für den Vorschlag, das ist als Freitext sicher einfacher.
@Aufhübschen: Ja, das werde ich auch noch machen, danke. Ich arbeite mich immer schrittweise vor.

Darf ich noch eine Zusatzfrage stellen? Weißt du wo (anschaulich) die javascript Programmierung (mit Fokus auf Limesurvey) beschrieben ist? Ich kann zwar den Code grob nachvollziehen, aber scheitere daran was anzupassen, das über die Änderung von Antwortoptionen hinaus geht. Bei mir ist das immer ein Zusammensuchen von Codeteilen und Trial&Error.
 

Please Log in to join the conversation.

Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose