2013-09-19 3 views
0

Я строю простой тест, чтобы узнать JavaScript ...JQuery + создание радиокнопки для HTML из массива

Вот простая модель, как я хочу, чтобы обрабатывать ответы demo
Это работает, когда мой Qs & Как массив в этом формате ->

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>' 
}); 

и применить его к этому примеру here
, как это, как я изначально у меня Qs & Как установить, где формат массива отличается ->
allButtons = [[Questions...][PossibleAnswers...][Answers]]
Я дал ему идти, но не успешно

Так как же я делаю то же самое с этим другим Q & Формат массива?

PS. Я мог бы просто изменить свой формат, но сначала я хотел бы изучить это в первую очередь.

+0

рабочей версии http://jsfiddle.net/ HumYx/1/ – HattrickNZ

ответ

0

Почему вы использовали index2 в $ .each?

Также она должна быть [я] для индексации, а не {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; 

}); 

Это то, что вы искали?

+0

tks Я вижу свою ошибку сейчас doh! '$ (allButtons [1] [index] ** [index2] **) каждый (функция (i) { ответов + = '' + allButtons [1] [index] [i] + '
' });' – HattrickNZ

0

Просто для моей ссылки, и слегка связанные

пытается получить значение кнопки радио, который был выбран здесь ...

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/ - обратите внимание, и б теперь работает так, как мы хотим в этом формате, е Нвер должен работать правильно, и с и d являются от предыдущего один

Смежные вопросы