angularjs – Angular.js:在ng-repeat中使用ng-model进行下拉
发布时间:2020-12-17 07:17:27 所属栏目:安全 来源:网络整理
导读:我很难理解如何在ng-repeat中使用ng-model. 在此上下文中,CargoItems是包含LoadPoint的对象列表. LoadPoint具有Id和Text属性. 我想显示文本,绑定到下拉列表中的当前选择,但我还想跟踪当然选择哪个Id.因此,我不确定如何使用select绑定更新这两个属性,或者通过
我很难理解如何在ng-repeat中使用ng-model.
在此上下文中,CargoItems是包含LoadPoint的对象列表. LoadPoint具有Id和Text属性. 我想显示文本,绑定到下拉列表中的当前选择,但我还想跟踪当然选择哪个Id.因此,我不确定如何使用select绑定更新这两个属性,或者通过显式使用标记,或者使用我还没有想到的ng-options. 所以有两个问题: 1)如何将选择列表中的文本和值正确绑定到CargoItem.LoadPoint上的Id和Text属性?我有一种感觉我的模型可能是错的? 2)如何使用ng-options默认为所选值?我想出了我自己的选项标签,但我想尽可能使用ng-options. <div ng-repeat="cargoItem in cargo.CargoItems"> <span>Selected Load Point: {{cargo.LoadPoint.Text}}</span> <select ng-model="cargoItem.LoadPoint" ng-options="loadPoint.Id as loadPoint.Text for loadPoint in LoadPoints"></select> </div> 提前致谢!
>绑定到整个对象引用,而不是使用“Id”属性(loadPoint.Id).要做到这一点,只需更改ng-options并删除loadPoint.Id作为部分:
<select ng-model="cargoItem.LoadPoint" ng-options="loadPoint.Text for loadPoint in LoadPoints"></select> >如果您使用上述方法并正确引用LoadPoints对象,Angular将自动为您执行此操作.以下是有关如何使用直接LoadPoints对象引用的示例: $scope.LoadPoints = [{ Id: '1',Text: 'loadPointA' },{ Id: '2',Text: 'loadPointB' }]; $scope.cargo = { CargoItems: [{ LoadPoint: $scope.LoadPoints[0] },{ LoadPoint: $scope.LoadPoints[1] }] }; 使用这种方法,cargoItem.LoadPoint(ngModel)将始终保持对整个LoadPoints对象的引用(即{Id:’1′,Text:’loadPointA’}),而不仅仅是其Id(即’1′). jsFiddle:http://jsfiddle.net/bmleite/baRb5/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angular – 无法绑定到’ngModel’,因为它不是已知的本机属
- cxf基于soap的webservice
- Net WebService 同步、异步、同步压缩解压和异步压缩解压实
- bash – 如何将`$PATH`的内容拆分成不同的行?
- monkey测试结果分析
- 【Android Demo】通过WebService获取今日天气情况
- angularjs – 有没有办法观察从角度世界外部触发的属性变化
- shell – CLI:在地址处写入字节(hexedit /从命令行修改二进
- angular-meteor – $reactive(this).attach($scope)和$scop
- bootstrap——完美的分页查询