2014-03-18 76 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