【问题标题】:Angularjs Select initial value for selectbox inside ng-repeatAngularjs为ng-repeat中的选择框选择初始值
【发布时间】:2014-04-17 11:52:43
【问题描述】:

我想最初将所选颜色填充为选择框中的选定选项

jsfiddle的链接

这是我的部分:

<div ng-app ng-controller="QuestionController">
    <ul ng-repeat="product in products">
        <li>
            <div>{{ product.selected | json }}</div>
            <select ng-model="product.selected" ng-options="color.name for color in product.color"></select>
         </li>
    </ul>
</div>

控制器:

function QuestionController($scope) {
    $scope.products = [
             {
                "name": "product1", 
                "value": "product1",
                "color": [{ name: 'red',id: 10},{ name: 'Green',id: 11},{name:'Blue',id: 12 }],
                "selected": {name: 'Green', id: 11 }
             },
             {
                "name": "product2",
                "value": "product2",
                "color": [{ name: 'red',id: 10},{ name: 'Green',id: 11},{name:'Blue',id: 12 }],
                "selected": {name: 'red', id: 10 }
             },
             {
                "name": "product3",
                "value": "product3",
                "color": [{ name: 'red',id: 10},{ name: 'Green',id: 11},{name:'Blue',id: 12 }],
                "selected": {name: 'Blue',id: 12 }
            }
        ];    
}

【问题讨论】:

    标签: angularjs angularjs-scope angularjs-ng-repeat angular-ngmodel


    【解决方案1】:

    试试这个:

    <select ng-model="product.selected" ng-options="color.name for color in product.color track by color.id"></select>
    

    【讨论】:

    • 使用“track by”表达式,您可以指示 angular 使用“id”属性来考虑两个对象等价而不是使用对象相等。
    猜你喜欢
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 2016-12-11
    • 1970-01-01
    • 2016-09-17
    • 2017-01-20
    • 2014-02-16
    相关资源
    最近更新 更多