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
    }]
}
Другие вопросы по тегам