Hallo, Christine,
ich weiß nicht, woher das script stammt.
$('#question{F5} tr.subquestion-list:Y2.answer_cell_X2*').remove();
Du hast schon einmal den großen Fehler gemacht, dass Du die Variable {QID} nach {F5} geändert hast.
{QID} ist ein wohldefinierter Platzhalter, der die aktuelle FragenID enthält.
Wenn Du dies ändern willst, müsstest Du auch diese einsetzen, nämlich diese hier
Und auch ohne die geschweiften Klammern. Aber das vergisst Du jetzt schnell; dies musste man in Versionen benutzen, als es noch kein ExpressionScript gab, vielleicht so 1.8. vor 2015( also Steinzeit).
Gut, weiter
Du willst auf die Zeile "Y2" zugreifen mit
tr.subquestion-list:Y2
Das ist einfach falsche Syntax. Dies ist ja die Liste der Teilfragen. Also musst Du auf das entsprechende Element über den Index zugreifen, mit "eq(x)".
Da der erste Index "0" ist, wäre die dritte Zeile also
tr.subquestion-list:eq(2)
Und jetzt kommt die Spalte. Dies ist auch leider nur fast richtig.
1. Du musst auf die Zelle zugreifen, also entsprechend der Zeile (tr), hier mit td.
2. Diese beiden Elemente "tr" und "td" sind nicht auf einer Ebene. Zu einem tr gibt es mehrere tds (Jede Zeile enthält mehrere Spalten.
Da muss ein Zwischenraum her.
Gibt insgesamt:
$('#question{QID} tr.subquestion-list:eq(2) td.answer_cell_X2*').remove();
Zur Frage, wo das script hinkommt.
Persönlich füge ich scripte immer in den Quellcode der Frage ein, hier dann mit den <script>...</script> tags umschlossen.
Dies ist aber Gewohnheitssache aus Zeiten, als es diesen Script-Tab noch nicht gab.
Hier noch einmal das gesamte script, ohne die tags.
Code:
$(document).ready(function() {
// Remove Y3_X2
$('#question{QID} tr.subquestion-list:eq(2) td.answer_cell_X2*').remove();
// Remove Y3_X3
$('#question{QID} tr.subquestion-list:eq(2) td.answer_cell_X3*').remove();
});
Letzte Frage: Wie kann man testen dass javascript allgemein funktioniert?
In der ersten Frage füge in den Quellcode ein
Code:
$(document).ready(function() {
alert('Hier spricht javascript");
});
Wenn es dann nicht zu Dir spricht, hast Du wohl keine Rechte, javascript einzusetzen.
Und jetzt der Dank an Dich.
In meinem "Tutorial 1: Matrizen", Kap. 13.3. schrieb ich noch, dass es mir in einer Matrix(Texte) nicht gelungen war, Zellen zu entfernen, wie bei den anderen Matrixtypen. Daher zeige ich dort , wie man sie ausgraut und auf "disabled" setzt. Hier einmal das Bild dazu.
Durch Deine Frage habe ich also gelernt, wie man diese Zellen entfernt.
Aber Du kannst Dir meine Tutorials ja trotzdem zu Gemüte führen. Findest Du alle hier im deutschen Teil auf einer der Folgeseiten (Seite 7, 8, oder so)
Samsung
Joffm