html-радио кнопки не активируются (на самом деле это файл Jade)
Это был бы более простой вопрос, но я застрял на некоторой небольшой простой вещи: мой угловой объект такой:
$scope.questions = [
{
questionText: "1. This is a test question#1",
choices: [{
id: 1,
text: "NO",
isUserAnswer: false
}, {
id: 2,
text: "YES",
isUserAnswer: true
}]
},
{
questionText: "2. This is a test question#2",
choices: [{
id: 1,
text: "NO",
isUserAnswer: false
}, {
id: 2,
text: "YES",
isUserAnswer: true
}]
}
];
Сейчас я пытаюсь заполнить свой интерфейс (jade/html), используя этот объект, чтобы у меня было два переключателя для каждого вопроса. Мой нефритовый файл выглядит так:
div
ul.unstyled
li(ng-repeat='question in questions')
strong.question {{question.questionText}}
ul.unstyled(id='quest_{{$parent.$index}}')
li(ng-repeat='choice in question.choices')
label.(class='isCorrect_{{choice.selected}}', for='quest_{{$parent.$index}}_choice_{{$index}}')
input(type='radio', id='quest_{{$parent.index}}_choice_{{$index}}', ng-model='choices[$parent.$index]', value='{{choice.text}}', name='quest_{{$parent.$index}}_choices', ng-click='showResult()')
| {{choice.text}}
Теперь я вижу вопросы и переключатели на html-странице, но почему-то не могу нажать ни одну из кнопок. Любая очевидная причина? Любая помощь будет оценена. Он отлично работает, когда я перехожу на HTML-файл.
1 ответ
Это, вероятно, из-за вашего ngModel
определение:
ng-model='choices[$parent.$index]'
Выбор не определен. question.choices
есть, однако:
ng-model='question.choices[$parent.$index]'
Однако, кажется, что вы действительно хотите использовать сам вопрос, а не варианты в качестве модели. И вы захотите использовать новое свойство в вопросе, answer
:
ng-model='question.answer'
Теперь, когда выбор сделан, вопрос будет иметь answer
Свойство со значением выбранного ответа:
{
questionText: "2. This is a test question#2",
answer: "YES",
choices: [{
id: 1,
text: "NO",
isUserAnswer: false
}, {
id: 2,
text: "YES",
isUserAnswer: true
}]
}