javascript - 为选择元素angularJS设置选定值

标签 javascript angularjs

我的代码是这样的

    <body ng-app="myApp" ng-controller="MainCtrl">
    <select data-ng-model="myclass" data-ng-options="color.name for color in colors">
        <option value="">-- Select Freight Class --</option>
    </select>
</body>

    angular.module('myApp', []).controller('MainCtrl', [
    '$http', '$scope', '$filter', function ($http, $scope, $filter) {
    $scope.myclass = {
        "name": "65"
    };
    $scope.colors = [{
        name: '50'
    }, {
        name: '55'
    }, {
        name: '105'
    }, {
        name: '110'
    }, {
        name: '400'
    }, {
        name: '500'
    }];

}]);

如您所见,我正在尝试将此选择的默认选定值设置为 65,但它不起作用。谁能告诉我如何实现这一目标? http://jsfiddle.net/d8kg0uys/

最佳答案

首先,colors 数组中根本没有{"name": "65"} 对象。但即使您尝试选择选项 {"name": "55"} 它也不会起作用。原因是因为 $scope.myclass 不等于 colors 数组中的任何元素。

Angular 比较对象以将相应的选项设置为选中,并且只有当对象是相同对象时,一个对象才等于另一个对象。因此,要正确设置所选值,您必须为 colors 数组中的对象提供一个引用:

$scope.myclass = $scope.colors[1];

关于javascript - 为选择元素angularJS设置选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675232/

相关文章:

javascript - 如何禁用 UI 日历中的先前日期?

javascript - AngularJS + RequireJS 不工作

javascript - Jquery 并将事件绑定(bind)到 iframe

javascript - 如何停止函数递归

javascript - stackOverflow UI 设计秘诀?

javascript - 如何在 AngularJS 中编辑/删除必填字段上的所有文本

javascript - 将元素偏移量添加到 jQuery 偏移量计算中

javascript - 为什么js会从一个特定格式的Date对象中减去一天?

javascript - 如何在angularjs中对数字进行复数化和格式化

javascript - CORS header ‘Access-Control-Allow-Origin’ 丢失'。我需要在 Web api(服务)或客户端中编写代码