AngularJS - 如果没有为单选按钮选择值,则设置默认值

AngularJS - Set Default Value if no Value is Selected for Radio Buttons

我有以下一组单选按钮:

<div class="checkboxgroup" ng-repeat="p in priorities">
   <input id="radio_{{ $index }}" ng-disabled="disable" type="radio" name="ShipPriority" ng-model="$parent.data.ShipPriority" value="{{ p.value }}" ng-change="UpdateHeader('ShipPriority', {{ p.value }})" />
   <label for="radio_{{ $index }}">{{ p.value }}</label>
</div>

values/labels 是数字 1-5。由于现在已设置好,如果之前未选择值,则没有默认值,只是没有选择单选按钮。如果没有选择以前的值,我想将默认值设置为 5。

一种方法是只使用 ng-checked="" 指令。

因此,您使用这样的表达式添加 ng-checked 属性

ng-checked="$index == 1"

所以,如果你想将第 5 个单选按钮($index = 4)设置为选中,你在 ng-repeat 中的单选按钮将如下所示:

<input id="radio_{{ $index }}" ng-disabled="disable" 
    type="radio" name="ShipPriority" 
    ng-model="$parent.data.ShipPriority" value="{{ p.value }}" 
    ng-change="UpdateHeader('ShipPriority', {{ p.value }})"
    ng-checked="$index == 4"
/>

另一种方法是从优先级数组中获取选中的值。

因此,您在控制器中设置优先级检查值,如下所示:

$scope.priorities = [{"value":1},{"value":2, "checked":true}];

然后在您的视图中使用该值:

ng-checked="p.checked"

另一种方法是使用 jQuery:

$( document ).ready(function() {
    $("#radio_4").attr('checked', true);
});