问题标签 [angularjs-ng-options]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - AngularJS ng-options 将所选项目作为对象
我的范围中有一个对象数组,我将它们列在一个下拉控件中,如下所示。
我还希望将 selectedItem 作为一个对象来访问该对象的其他属性,以便我可以操纵页面中的内容。例如;
谁能帮我这个?谢谢你。
javascript - 组表达式中的 ng-options trackby
我在这里做错了什么,Angular(1.1.5)没有在这个分组选择下拉列表中正确选择正确的值?
HTML:<select ng-model="options.metricId" ng-options="answer.id as answer.name group by answer.question for answer in options.answers track by answer.id"></select>
options.metricId
由控制器正确设置。
该options.answers
对象如下所示:
{id: 8, name: "Leads Others", question: "Assessment"}
所有选项都出现了,但它没有answer.id == options.metricId
像我期望的那样选择值。
json - Angular.js ngOptions to iterate over JSON objects
What's the best way for ng-options=""
to iterate over JSON objects without ng-repeat=""
...
in order to retrieve all values.
Should return, 1a, 1b, 2a, 2b for the <option>
rendered in a single <select>
I mistakenly thought something like...
...would iterate over sub objects. Do I need a separate function? Scope definition of some sort? Any help is appreciated.
angularjs - Angular.js 通过 ng-options ng-model 代码审查跨工厂过滤
请注意,以下内容有效,但感觉非常笨拙。我正在寻找使它更紧的任何技巧和/或我以后可能会后悔的陷阱。
嵌套对象的扁平数组:
需要填充到两个<select>
对象中,一个给父母,一个给孩子,并保持他们的层次关系。So that, when a parent is selected, children which are not underneath it are filtered out:
as well as when a child is selected, the parent is automatically recognized across the model
我觉得好像我错过了什么。
http://jsfiddle.net/petarsubotic/65kwvnjz/11/
angularjs - 在具有隔离范围的指令中使用 ng-options 填充选择
我无法弄清楚为什么 ng-options 指令在我的示例中不起作用:
http://plnkr.co/edit/wwAIDHl6U7YaScRzIKAY
应用程序.coffee
索引.html
我在编译函数中附加了带有 ng-options 的选择(可以传入,但默认为label for value in filterableOptions
),并返回一个链接函数,该函数监视 ng-model 并将数据绑定设置$scope.colFilterable
为$scope.filter
我不能使用模板,因为我想保留元素中当前的内容,并且只想附加这个选择,作为回报应该过滤结果表
编辑:
好吧,似乎这$scope.$watch 'filter'
两种方式都不起作用,结果也不会传播到父范围,所以我重写了它以使用更改事件
http://plnkr.co/edit/qzaf1sBoFuVD8fow0tfA
如果我手动编写option
元素,这可行
angularjs - 选择多个字段/将对象的子集绑定到模型
假设我们有以下对象结构: { id: 1, name: 'name', description: 'test' }
我们可以使用以下代码从下拉列表中选择一个对象:
并选择一个个人 ID:
有没有选择多个字段的方法,而不是选择整个对象或单个字段?例如
本质上,我想返回一个对象的子集,而不是整个对象本身。在我的案例中,整个对象包含太多字段。
angularjs - 当模型在 ng-options 中不存在时,将 ng select 下拉模型设置为 null
假设我在 UI 中定义了以下下拉菜单:
在控制器中:
如果我将$scope.selectedItem
模型设置为项目数组中存在的值,例如,{name: 'item 1', id: 1}
那么角度预选'item 1'
是预期的。
但是,如果我将模型设置为项目数组中不存在的虚假项目,例如,$scope.selectedItem = {name: 'item 6', id: 6}
那么 UI 中预期的角度预选'Please select...'
,但模型仍然存在{name: 'item 6', id: 6}
。
对于带有伪造物品的示例,是否有角度将模型设置$scope.selectedItem
为null
而不是{name: 'item 6', id: 6}
?
在我的情况下,$scope.selectedItem
对象被保存到数据库中,所以当它在未来被加载时,我不能保证该对象将存在于$scope.items
数组中。如果数组中不再存在该对象,我希望 Angular 将模型设置为 null 而不是保留陈旧的对象。
明显的解决方案是检查对象是否存在于数组中,如果不存在,则$scope.selected = null
在控制器中手动设置,但想看看是否有更简单或更干净的选项。
解决方案:
选择使用指令:
javascript - 使用嵌套 json 在 ng-options 中为 angularjs 解析对象选择下拉列表
我有以下json:
我想要做的是仅在“正常”下的下拉列表中显示 fontName,并将值设为 fontFamily。
我试过了
但没有运气。我在我的控制器中将 $scope.designFonts 设置为 json 是什么。
javascript - 如何在不破坏角度数据绑定的情况下更新集合中的项目?
我有一个对象集合,我认为这称为关联数组。无论如何,我想在该列表中找到一个项目并更新它。作为旁注,这个集合是一个选择的 ng-model。我知道 lodash 有一些这种类型的功能。我可以找到该项目,但我不确定更新项目的最佳方式是什么,因此数据绑定仍然适用于我的选择。
这是一个不起作用的示例:
angularjs-ng-options - ng-options 使用 angular 1.3.0 进行跟踪
我正在尝试使用“track by”表达式在对象数组中按值跟踪我的选择,但是我无法让它工作。
JS
HTML
我希望浏览器呈现这样的结果:
我可以在这个问题上获得一些帮助吗?