问题标签 [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.

0 投票
1 回答
14788 浏览

angularjs - AngularJS ng-options 将所选项目作为对象

我的范围中有一个对象数组,我将它们列在一个下拉控件中,如下所示。

我还希望将 selectedItem 作为一个对象来访问该对象的其他属性,以便我可以操纵页面中的内容。例如;

谁能帮我这个?谢谢你。

0 投票
1 回答
50 浏览

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像我期望的那样选择值。

0 投票
1 回答
1880 浏览

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.

http://jsfiddle.net/G9jGa/71/

0 投票
0 回答
189 浏览

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/

0 投票
1 回答
984 浏览

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元素,这可行

0 投票
0 回答
772 浏览

angularjs - 选择多个字段/将对象的子集绑定到模型

假设我们有以下对象结构: { id: 1, name: 'name', description: 'test' }

我们可以使用以下代码从下拉列表中选择一个对象:

并选择一个个人 ID:

有没有选择多个字段的方法,而不是选择整个对象或单个字段?例如

本质上,我想返回一个对象的子集,而不是整个对象本身。在我的案例中,整个对象包含太多字段。

0 投票
1 回答
2474 浏览

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.selectedItemnull而不是{name: 'item 6', id: 6}

在我的情况下,$scope.selectedItem对象被保存到数据库中,所以当它在未来被加载时,我不能保证该对象将存在于$scope.items数组中。如果数组中不再存在该对象,我希望 Angular 将模型设置为 null 而不是保留陈旧的对象。

明显的解决方案是检查对象是否存在于数组中,如果不存在,则$scope.selected = null在控制器中手动设置,但想看看是否有更简单或更干净的选项。

解决方案:

选择使用指令:

0 投票
1 回答
2097 浏览

javascript - 使用嵌套 json 在 ng-options 中为 angularjs 解析对象选择下拉列表

我有以下json:

我想要做的是仅在“正常”下的下拉列表中显示 fontName,并将值设为 fontFamily。

我试过了

但没有运气。我在我的控制器中将 $scope.designFonts 设置为 json 是什么。

0 投票
2 回答
349 浏览

javascript - 如何在不破坏角度数据绑定的情况下更新集合中的项目?

我有一个对象集合,我认为这称为关联数组。无论如何,我想在该列表中找到一个项目并更新它。作为旁注,这个集合是一个选择的 ng-model。我知道 lodash 有一些这种类型的功能。我可以找到该项目,但我不确定更新项目的最佳方式是什么,因此数据绑定仍然适用于我的选择。

这是一个不起作用的示例:

0 投票
1 回答
196 浏览

angularjs-ng-options - ng-options 使用 angular 1.3.0 进行跟踪

我正在尝试使用“track by”表达式在对象数组中按值跟踪我的选择,但是我无法让它工作。


JS


HTML


我希望浏览器呈现这样的结果:

我可以在这个问题上获得一些帮助吗?