如何使用ng-repeat进行更改

时间:2015-02-16 15:38:35

标签: angularjs

我正在尝试将2个属性绑定到对象。 DocumentTypeId,DocumentTypeName。我在选择框中使用ng-repeat,我无法使用ng-options。这个黑客正在给我带来麻烦。我在我的项目中安装了ngstorage,我可以从$ rootScope获取DocumentTypeName,问题是我无法正确执行该函数.ng-change函数中的参数未定义。我宁愿摆脱黑客并使用ng-options,如果没有,那么我只需要这个工作。愿意接受建议,谢谢

plunker

 <select class="form-control" ng-model="model.documentTypeId" ng-change="selectDocumentType(docType)">
    <option ng-repeat="docType in docTypes" title="{{docType.DocumentTypeName}}" ng-selected="{{docType.DocumentTypeId == model.DocumentTypeId}}" value="{{docType.DocumentTypeId}}">
        {{docType.DocumentTypeName}}
    </option>
 </select>

1 个答案:

答案 0 :(得分:1)

我已经使它与ng-options一起使用,就像你说的那样,如果你使用它而不是黑客攻击最好。

<select class="form-control" ng-model="model.documentTypeId" ng-change="test()"
         ng-options="docType.DocumentTypeId as docType.DocumentTypeName for docType in docTypes" title="{{docType.DocumentTypeName}}" ng-selected="{{docType.DocumentTypeId == model.DocumentTypeId}}" value="{{docType.DocumentTypeId}}">
            {{docType.DocumentTypeName}}
</select>

ng-change只是控制器中的一个测试功能,所以你看它有效:

$scope.test = function (docType) {
     console.log($scope.model.documentTypeId);
};

Working Plunker