javascript - Angularjs:选中单选按钮

标签 javascript angularjs

我正在尝试使用单选按钮在 AngularJS 中构建一个颜色配置器,一切似乎都在工作,数据绑定(bind)等等......但是我无法设置默认颜色单选按钮。正如我在文档中看到的那样,如果 ng-model 与 radio 值相同,则应该自动检查输入,但我不知道这是否仅适用于字符串而不适用于对象。

这是 HTML:

<div ng-app ng-controller="ThingControl">
    <ul >
        <li ng-repeat="color in colors">
            <input type="radio" ng-model="thing.color" value="{{color}}" />{{ color.name }}
        </li>
    </ul>
    Preview: {{ thing }}
</div> 

这是 JS:

function ThingControl($scope){
    $scope.colors = [
        { name: "White", hex: "#ffffff"},
        { name: "Black", hex: "#000000"}
        ]

    $scope.thing = {
        color: $scope.colors[1]
    }

}

你可以在这个 fiddle 中看到前面的例子: http://jsfiddle.net/xWWwT/1/

非常感谢!

最佳答案

选择与值中定义的字符串匹配,所以你可以做

value="{{color.name}}"

$scope.thing = {
    color: $scope.colors[1].name
}

value="{{color}}"

$scope.thing = {
    color: JSON.stringify($scope.colors[1])
}

正如@bertez 提到的,使用ng-value 是最好的解决方案。

ng-value="color"

关于javascript - Angularjs:选中单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18518251/

相关文章:

javascript - 如何更改单击导航栏 Bootstrap 时事件类的颜色

javascript - onclick 必须点击两次才能触发

javascript - Angular 自定义指令范围未按预期更新

javascript - 如何将对父对象的引用传递给 AngularJS $resource 查询回调函数?

angularjs - 使用 Cordova 和 Angularjs : 401 unauthorized error 登录 Twitter

javascript - 我如何编写一个 Javascript 警报,使其在每个网络 session 中只填充一次?

javascript - 从表单输入中获取文本。 Javascript

javascript - 如何调试 javascript promise ?

javascript - 如何让复选框绑定(bind)到我的数据模型中的 bool 值?

javascript - AngularJS $HTTP.json