Я создаю простую викторину для изучения javascript...
Вот простая модель того, как я хочу обрабатывать ответы на демо
Это работает, когда мой массив Qs & As находится в этом формате →
allButtons = [["Milk", "Butter", "Cheese"],["Water", "Beer", "Wine"]];
Я пытаюсь понять эту конкретную часть ->
$(allButtons[index]).each(function (i) {
answers += '<input type="radio" name="group1' + '" value="' + allButtons[index][i] + '">' + allButtons[index][i] + '<br>'
});
и примените его к этому примеру здесь
так как именно так изначально у меня установлены настройки Qs & As, где формат массива отличается → allButtons = [[Questions...][PossibleAnswers...][Answers]]
Я дал ему уйти, но не успешно
Итак, как мне сделать то же самое с этим разным форматом массива вопросов и ответов?
PS. Я мог бы просто изменить свой формат, но сначала я хотел бы изучить это в первую очередь.
Почему вы использовали index2 в $.each?
Также это должно быть [i] для индексирования, а не {i}
$("#up").on("click", function () {
var answers = '';
$(allButtons[1][index]).each(function (i) {
answers += '<input type="radio" name="group1' + '" value="' + allButtons[1][index][i] + '">' + allButtons[1][index][i] + '<br>'
});
$("#answers").hide(); //required to show it slowly
$("#answers").html(answers); //show my answers
$("#answers").show('slow'); //slowly fade in Answers
index += 1;
});
Это то, что ты искал?
Только для моей справки и слегка связанных
пытаясь получить значение переключателя, который был выбран здесь...
http://jsfiddle.net/HumYx/2/ - это работает, но мне, возможно, придется изменить способ записи моих радиокнопок, чтобы получить нужный индекс, который нужно изменить
$(allButtons[1][index]).each(function (i) {
answers += '<input type="radio" name="group1' + '" value="' + allButtons[1][index][i] + '">' + allButtons[1][index][i] + '<br>'
});
изменил его на это, и он работает, это то, что я хочу
$(allButtons[1][index]).each(function (i) {
answers += '<input type="radio" name="group1' + '" value="' + i + '">' + allButtons[1][index][i] + '<br>'
});
http://jsfiddle.net/HumYx/3/ - обратите внимание, что a и b теперь работают так, как мы хотим, в этом формате, ever должен работать правильно, а c и d - из предыдущего
$(allButtons[1][index]**[index2]**).each(function (i) { answers += '<input type="radio" name="group1' + '" value="' + allButtons[1][index]**{i}** + '">' + allButtons[1][index][i] + '<br>' });