【问题标题】:AngularJs Select Not Updating When Model Updated模型更新时AngularJs选择不更新
【发布时间】:2014-01-11 01:26:53
【问题描述】:

我正在尝试以编程方式从我的控制器更新所选项目,但它不起作用。当我单击提交按钮时,它所做的只是清除选择。我期望的是第二个选项(珀斯)被选中。

查看这个 plunker 了解更多信息。 http://jsfiddle.net/ky5F4/

谢谢

<div ng-controller="MyController" ng-app>
    <div>Number of datasets= {{datasets.length}}</div>
    <div>
        <select class="dataset" size="1" ng-model="selectedDataset">
            <option ng:repeat="dataset in datasets" value="{{dataset.name}}">
                <h3>{{dataset.name}}</h3>
            </option>
    </div>
    <input type="button" value="submit" ng-click="Select()"></input>
</div>

function MyController($scope) {
    $scope.datasets = [{
        id: 'id-1',
        name: 'Brisbane'
    }, {
        id: 'id-2',
        name: 'Perth'
    }, {
        id: 'id-3',
        name: 'Melbourne'
    }];

    $scope.selectedDataset = 'id-1';

    $scope.Select = function () {
        alert('testing');
        $scope.selectedDataset = 'id-2';
    }
}

【问题讨论】:

  • 我看到你有 ng:repeat 而不是 ng-repeat...这对解决问题没有帮助
  • 是的,我意识到,抄袭了别人的小提琴。

标签: angularjs


【解决方案1】:

使用ng-options 而不是ng-repeat

<select class="dataset" size="1" ng-model="selectedDataset" 
    ng-options="dataset.id as dataset.name for dataset in datasets">

Working fiddle

您可以查看文档here

【讨论】:

  • 有趣的是修复如此微妙...谢谢!超过时限我会标记为正确的。
  • 我有一个类似的问题,当我通过另一个模型绑定输入更改模型时,我的选择框只是空白:&lt;select ng-model="item[key]" ng-options="option.ID as option.Name for option in item.Options"&gt;&lt;/select&gt; - 我认为这是由于索引模型,但它似乎simple versioncomplex v1complex v2 工作正常。只是分享:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多