将复选框和收音机与多个角度模型相结合

时间:2016-02-08 13:56:43

标签: angularjs angular-ngmodel

我正在构建一个配置工具,人们可以在这里配置自己的厨房,我需要一些逻辑帮助。

让我们说人们可以选择一个水槽: 选中复选框后,会出现一个包含多个接收器(单选按钮)的列表。默认情况下,选中该复选框时,也应检查第一个单选按钮。

我想在这里发生几件事:

1)选中该复选框后,将出现单选按钮。默认情况下应检查第一个单选按钮,此json对象的值应存储在formData.sink中。

2)所选接收器的价格应保存在prices[x].price

3)取消选中该复选框时,prices[x].price的值应设置为0,formData.sink对象应为空。

这是我的HTML。在我的控制器中,我还没有任何功能。

<tr class="tr-border-top">
  <td colspan="2"><input type="checkbox" ng-model="sink">Sink</td>
  <td>{{ prices[5].price  | currency:"€":0}},-</td>
</tr>
<tr ng-show="sink">
  <td colspan="3">
     <ul>
        <li ng-repeat="node in nodes | filter:{type:'sink'}">
           <label>
              <input type="radio" name="sink" class="form-control" ng-model="formData.sink" ng-value="node" ng-init="$index==0?(formData.sink=node):''">
              {{ node.title}}
           </label>
        </li>
     </ul>
   </td>
 </tr>

1 个答案:

答案 0 :(得分:1)

好吧,好像你自己没有尝试过多少。我会去添加ng-change然后调用一个函数来设置你想要的值

lineItems

在该函数中,您可以设置正确的值,如果未选中,则将值重置为0或未定义。自己尝试一些,如果你遇到问题,请说明你确切的问题:)