将复选框和收音机与多个 angular 模型组合
Combine checkbox and radio's with multiple angular models
我正在构建一个配置器工具,人们可以在其中配置自己的厨房,我需要一些逻辑方面的帮助。
假设人们可以 select 一个水槽:
选中复选框后,会出现一个包含多个接收器(单选按钮)的列表。默认情况下,当复选框被选中时,第一个单选按钮也应该被选中。
我想在这里发生几件事:
1)选中复选框后,应出现单选按钮。默认情况下应选中第一个单选按钮,并且此 json 对象的值应存储在 formData.sink
.
中
2) selected sink 的价格应该保存在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>
嗯,看来你自己并没有尝试太多。我会去添加 ng-change 然后调用一个函数来设置你想要的值
<input type="checkbox" ng-model="sink" data-ng-change="onSinkChanged(sink)">
$scope.onSinkChanged = function(sink) {
// your logic here
}
并且在该函数中,您可以设置正确的值,如果未选中,则将值重置为 0 或未定义。自己尝试其中的一些,如果遇到困难,请指出您的确切问题:)
我正在构建一个配置器工具,人们可以在其中配置自己的厨房,我需要一些逻辑方面的帮助。
假设人们可以 select 一个水槽: 选中复选框后,会出现一个包含多个接收器(单选按钮)的列表。默认情况下,当复选框被选中时,第一个单选按钮也应该被选中。
我想在这里发生几件事:
1)选中复选框后,应出现单选按钮。默认情况下应选中第一个单选按钮,并且此 json 对象的值应存储在 formData.sink
.
中
2) selected sink 的价格应该保存在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>
嗯,看来你自己并没有尝试太多。我会去添加 ng-change 然后调用一个函数来设置你想要的值
<input type="checkbox" ng-model="sink" data-ng-change="onSinkChanged(sink)">
$scope.onSinkChanged = function(sink) {
// your logic here
}
并且在该函数中,您可以设置正确的值,如果未选中,则将值重置为 0 或未定义。自己尝试其中的一些,如果遇到困难,请指出您的确切问题:)