禁用ng-单击非按钮元素

时间:2015-10-19 04:06:42

标签: angularjs

我使用<p>标签来显示一组答案选项。每个选项都是可选的,它设置一个类并在单击时运行一些功能。

一旦选择了答案并ng-click,我想禁用任何$scope.question_checked === true操作。我尝试按照禁用按钮的格式,但这对非按钮元素的工作方式不同。

            <p
               ng-repeat="c in choices track by ($index+1)"
               ng-click="question_checked || c.selected = !c.selected; makeSelection($index+1, this)"
               class="choice"
               ng-class="{'selected': c.selected==true}"
               ng-disabled="question_checked">

                {{letters[$index]}}) {{c.choice}}

            </p>

如何禁用ng-click,例如p元素?

目前情况如何,我收到错误:

  

错误:[$ parse:lval]尝试将值赋给非l值

这是我在c.selected = !c.selected;ng-click以及其他功能的时候。

1 个答案:

答案 0 :(得分:0)

<p ng-repeat="c in choices track by ($index+1)"
   ng-init="question_checked = false"
   ng-click="(!question_checked ? makeSelection($index+1, this) : return); question_checked = true"
   class="choice"
   ng-class="{'selected': c.selected==true}">

       {{letters[$index]}}) {{c.choice}}

</p>

ng-repeat子范围变量作为false

发送至ng-init="question_checked = false"

如果question_checked == false然后makeSelection()调用,如果不是等于那么return之后没有任何事情发生question_checked分配为真question_checked = true

ng-click="(!question_checked ? makeSelection($index+1, this) : return); question_checked = true"

我们这里不需要ng-disabled