angularjs – 使用ng-change选择ng对象
发布时间:2020-12-17 09:32:32 所属栏目:安全 来源:网络整理
导读:给定以下select元素 select ng-options="size.code as size.name for size in sizes " ng-model="item.size.code" ng-change="update(MAGIC_THING)"/select 有没有办法让MAGIC_THING等于当前选择的大小,所以我可以访问size.name和size.code在我的控制器? s
给定以下select元素
<select ng-options="size.code as size.name for size in sizes " ng-model="item.size.code" ng-change="update(MAGIC_THING)"> </select> 有没有办法让MAGIC_THING等于当前选择的大小,所以我可以访问size.name和size.code在我的控制器? size.code会影响应用程序的其他部分(图像urls等),但是当item.size.code的ng-model更新时,item.size.name需要更新为面向用户的东东。我假设正确的方法是捕获更改事件并设置我的控制器内的值,但我不知道我可以传递到更新以获得正确的值。 如果这是完全错误的方式去去,我想知道正确的方法。
不是将ng-model设置为item.size.code,而是将其设置为size:
<select ng-options="size as size.name for size in sizes" ng-model="item" ng-change="update()"></select> 然后在您的update()方法中,$ scope.item将设置为当前选定的项目。 和任何代码需要item.size.code,可以通过$ scope.item.code获取该属性。 Fiddle。 基于评论中的更多信息更新: 使用一些其他$ scope属性为您的选择ng-model然后: <select ng-options="size as size.name for size in sizes" ng-model="selectedItem" ng-change="update()"></select> 控制器: $scope.update = function() { $scope.item.size.code = $scope.selectedItem.code // use $scope.selectedItem.code and $scope.selectedItem.name here // for other stuff ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |