预设模型上的角度“已检查”无线电

时间:2014-08-11 11:46:58

标签: javascript angularjs angular-ui-bootstrap

我有这个bootstrap / angular模板代码,用于设置图像的对齐方式:

<div ng-repeat="a in attributes">
    <div class="btn-group" data-toggle="buttons">
        <label class="btn btn-white" ng-click="align(a, 0)">
            <input type="radio" name="{{a.id}}" ng-checked="{checked : (a.numericValue === 0)}">
            Left
        </label>
        <label class="btn btn-white" ng-click="align(a, 1)">
            <input type="radio" name="{{a.id}}" ng-checked="{checked : (a.numericValue === 1)}">
            Center
        </label>
        <label class="btn btn-white" ng-click="align(a, 2)">
            <input type="radio" name="{{a.id}}" ng-checked="{checked : (a.numericValue === 2)}">
            Right
        </label>
    </div>
    <div class="clip text-{{align(a)}}">
        <img alt="#" ng-src="a.image">
    </div>
</div>

单击结果按钮,正确更新模型,而不是方法返回正确的css类。

当渲染按钮时,状态由bootstrap处理,一切正常。我不能做的是在按钮上设置初始检查状态。

我也试过使用表达式,但不起作用:

{{(a.numericValue == 0) && 'checked' || ''}}

或者:

checked="{{(a.numericValue == 0) && 'checked' || ''}}"

如何设置初始值?

非常感谢,Davide。

1 个答案:

答案 0 :(得分:0)

我认为你没有正确使用angularJS +收音机。期待angularjs doc

你的单选按钮应该是那样的

<input type="radio" ng-model="a.numericValue" value="0"> Left
....
<input type="radio" ng-model="a.numericValue" value="1"> Center
....
<input type="radio" ng-model="a.numericValue" value="2"> Right

因此,要初始化已检查状态,只需将a.numericValur设置为控制器中所需的初始值

a.numericValue = 0;

AngularJS使用单选按钮的value属性检查a.numericValue。