Hallo liebe Sosci-Community.
Ich habe für unsere Masterarbeit eine kleine Tabelle erstellt und allerlei technischen Krams dazugepackt.
Jetzt hackts aber an einer Stelle: Ich habe einen Randomizer, der die Zeilen meine Tabelle für jede Testperson neu randomisiert. Um aber später in den Daten nachvollziehen zu können, wie die Tabelle bei den eizelnen Personen aussah, wollte ich eine interne Variable in Sosci-Survey, die als String die Reihenfolge der Anfangszellen meiner Tabelle angibt, sobald sie randomisiert wurde.
Hier der code meines Randomizers. Das Interessante Codestück ist dick markiert. Hier versuche ich der Internen Variable den String zu übergeben. Ist das so richtig, oder mach ich da irgendwas falsch? Ich weiß zumindest dass der String richtig generiert wird. Den habe ich zu Testzwecken per alert ausgeben lassen. Also muss das Problem bei der Übergabe der variable liegen. Danke schonmal für Tipps.
<script>
function randomizeTable() {
//Randomizer für die Zeilen der Tabelle
var table = document.getElementById("myTable");
var rows = table.rows;
var randomOrder = [];
for (var i = 1; i < rows.length - 1; i++) {
var currentRow = [];
for (var j = 0; j < rows[i].cells.length; j++) {
currentRow.push(rows[i].cells[j].innerHTML);
}
randomOrder.push(currentRow);
}
randomOrder = shuffleArray(randomOrder);
for (var i = 1; i < rows.length - 1; i++) {
for (var j = 0; j < rows[i].cells.length; j++) {
rows[i].cells[j].innerHTML = randomOrder[i-1][j];
}
}
**var randomOrder = [];
for (var i = 1; i < rows.length - 1; i++) {
randomOrder.push(rows[i].cells[0].innerHTML);
}
var randomOrderString = randomOrder.join(", ");
var internvar = document.getElementById("XX01_01");
internvar.value = randomOrderString;**
function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
}
//Ausführen der Randomisierung
randomizeTable();
</script>