2014-03-18 33 views
1

在角度js中使用模板显示单选按钮和下拉列表最简单的方法是什么?我有一个蹦床,我想显示单选按钮组(任务#4)选项作为动态值 - 我不知道该怎么做。我也有同样的问题(选择#5)。任何帮助深表感谢。无法以角度js动态形式显示单选按钮组

http://run.plnkr.co/eHxbQn2lm1uTE2JI/

+0

你能提供一个链接到一个plunkr,显示你的代码? –

+0

嗨埃德,我以为我做了,无论如何这里去。我想出了单选按钮组。仍然停留在选择组虽然。:http://plnkr.co/edit/YMM1G6sE60G8LHAU4SMs?p=info – user3258918

回答

1

我看不见你的企图在使用代码中的<select>,所以这里是一个抽象的例子,如果你有像这样的选择:

.controller('AppControl', ($scope)-> 
    $scope.answers = 
    q1: null 
    q2: null 

    $scope.options = { 
    "option 1": "val1", 
    "option 2": "val2" 
    } 
) 

然后,你可以做一个单选按钮列表看起来像这样:

<span ng-repeat="(key, value) in options"> 
    <input type="radio" ng-model="answers.q1" ng-value="value"/> {{key}} 
</span> 

和一个选择是这样的:

<select ng-model="answers.q2" 
     ng-options="value as key for (key, value) in options"> 
</select> 

编辑

要回答下面的问题的第二部分:“我怎么使用NG-展现在这种情况下?”:

要做到这一点,你需要添加在您的问题中可能会出现“如果出现”类型的情况。如果有条件,那么你只想显示问题是否符合条件。您的每一个问题HTML会改变看起来是这样的:你检查是否已指定的条件

<div ng-repeat="question in questionnaire" 
    ng-include="'questionnaire'" 
    ng-show="(question.condition == null) || {{question.condition}}"></div> 

注意,如果没有,那么ng-show表达式将评估为true。如果有,我们插入该条件,以便我们可以使用与其他ng-show s相同的语法。

,那么你只需要调整您的问题,包括一个条件,例如:

{ 
    number: "5", 
    question: "Which of the following sweets do you like?", 
    type: "DD", 
    condition: 'questionnaire[$index-1].answer != "blue"', 
    values :[ 
    { name: "hardcandy" }, 
    { name: "chocolate" }, 
    { name: "other" }, 
    ] 
} 

questionnaire[$index-1]是指前一个问题($indexng-repeat,检查文档),以及.answer唯一的作品,因为我当我回答您先前的查询时,使用了ng-model="question.answer"。我会亲自将这ng-model属性添加到您的所有问题。

你可以看到它在这里工作:Plunker

+0

我感谢您的帮助。然而我的控制器看起来有点不同。它形成了节点。你是否能够看到那个笨蛋? – user3258918

+1

我只是看看现在..这是你用过的方法:http://plnkr.co/edit/p5c0h4TCqoVYvRCjQu1j?p=preview –

+0

谢谢埃德,你真棒。 :) – user3258918