Angularjs 如何从单选按钮获取数据?安格拉斯
我无法获得所选单选按钮的价格和名称。使用简单的html标记很容易。 但当我尝试从数组(项目)通过angularjs生成单选按钮时,我堆叠了 救命啊 htmlAngularjs 如何从单选按钮获取数据?安格拉斯,angularjs,Angularjs,我无法获得所选单选按钮的价格和名称。使用简单的html标记很容易。 但当我尝试从数组(项目)通过angularjs生成单选按钮时,我堆叠了 救命啊 html <h1>Select </h1> <div ng-app="" ng-controller="OrderCtrl"> <div ng-repeat="item in items"> <div class="radio"> <label> <
<h1>Select </h1>
<div ng-app="" ng-controller="OrderCtrl">
<div ng-repeat="item in items">
<div class="radio">
<label>
<input type="radio" name="item" ng-model="item" ng-checked="{{item.checked}}">
{{item.name}} +{{item.price}} $.</label>
</div>
</div>
Your choice: {{}} **what i must write here?**
<br>
Price: {{}} **and here?**
</div>
您的输入缺少结束标记。当你有ng repeat时,你有一个单独的范围。在这种情况下,您需要$parent.selectedItem来保存所选元素 我已使用工作状态解决方案更新了
<div ng-app="" ng-controller="OrderCtrl">
<div ng-repeat="item in items" style="text-indent: 30px">
<input type="radio" name="itemRadio" ng-model="$parent.selectedItem" ng-value="item.name"/>
{{item.name + '-' + item.price}}$.
</div>
Your choice: {{selectedItem}}
</div>
{{item.name+'-'+item.price}}$。
您的选择:{{selectedItem}
您可以查看有关单选按钮的angularjs文档。您不需要在此处使用ng checked
。选择重拨时,使用ng value
设置值。
我更改了你的帖子。jsiddle:
html
您的JSFIDLE不工作。我已经更新了你的工作以及。对不起,我没有保存我的小提琴。请再次检查是否使用$parent不安全。使用对象作为模型。为什么$parent不安全?这类似于为什么不在单选按钮输入元素中放入ng value=“{item}}”和ng model=“$parent.something”?这并不更好,这是唯一的方法,您强制使用事件,而不是以更简单的方式
<div ng-app="" ng-controller="OrderCtrl">
<div ng-repeat="item in items" style="text-indent: 30px">
<input type="radio" name="itemRadio" ng-model="$parent.selectedItem" ng-value="item.name"/>
{{item.name + '-' + item.price}}$.
</div>
Your choice: {{selectedItem}}
</div>
<div ng-app="" ng-controller="OrderCtrl">
<div ng-repeat="item in items" style="text-indent: 30px">
<label>
<input type="radio" name="item" ng-checked="{{item.checked}}" ng-click="change_item($event)" item-name="{{item.name}}" item-price="{{item.price}}" /> {{item.name}} + {{item.price}}
</label>
</div>
Your choice: {{selectedName}}
<br />
Price: {{selectedPrice}}
</div>
OrderCtrl = function ($scope) {
$scope.change_item = function(e) {
$scope.selectedName = e.target.attributes['item-name'].value;
$scope.selectedPrice = e.target.attributes['item-price'].value;
};
$scope.items = [{
name: 'None',
value: "no",
price: 0,
checked: true
}, {
name: 'Black',
value: "black",
price: 99,
checked: false
}, {
name: 'White',
value: "white",
price: 99,
checked: false
}, {
name: 'Barhat',
value: "barhat",
price: 49,
checked: false
}, {
name: 'Barhat',
value: "cream",
price: 49,
checked: false
}]
}