问题标签 [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.
javascript - 带有自定义过滤器的angularjs ng-options不起作用
很抱歉再次问这个问题,但没有找到答案或解决方法。
这是这个问题的后续:Stackoverflow
我有一个描述问题的 plunker(基本上将树结构放在下拉列表中):
如图所示,第一次选择没有选择值并返回一个空行 - 这也是一个谜。
我还没有找到任何类似的案例,我几乎要放弃了,所以这是最后一次机会。
关键代码区域是过滤器和 initTreeSelect 函数:
非常感谢您的帮助!谢谢
javascript - 如何以编程方式选择 ng-option 值?
我有一个充满下拉列表来过滤报告的视图。我还可以查看显示为链接的已保存过滤器。当用户单击他们保存的过滤器时,我希望选择下拉列表的适当值。下拉菜单已正确填充。在已保存的过滤器链接上,有ng-click
一个函数将调用一个函数,该函数遍历已保存的过滤器值的集合并自动选择正确的过滤器值。我无法弄清楚如何以编程方式设置选定的选项。任何帮助深表感谢!
以下是已保存过滤器的列表:
这是我的控制器
javascript - AngularJS:ng-model 将 int 切换为字符串
我目前正在使用 Angular 开发一个应用程序。到目前为止,一切都进行得很顺利。我对 Angular 非常非常陌生,很惊讶第一个真正的障碍花了这么长时间。
情况:
我有一个对象数组,每个对象都有一个顺序。
用户需要能够重新排列这些项目。新订单必须设置为对象属性“订单”。
在 html 中,这些对象呈现如下:
在 header-div 中,我有一个输入字段,输入 select。
changeItemOrder 的代码:
(ReorderItems 只是调用角度排序,默认排序机制比较订单并返回 -1、1 或 0。)
这是我在此问题的一种可能解决方案中发现/发现/查明其中一个重大错误的地方。在这里,我注意到我的 INT 以某种方式转换为字符串,因为在渲染时,一个选项被添加到下拉列表中,其值为“字符串:2”。
我已经以所有可能的方式尝试了 ng-options,但即使是那些也导致了问题。我做 ng-options 的方式是将 item.order 做为 item.order in ... 等等,这只是让顺序切换,直到不知何故所有项目都具有相同的顺序。尝试不同的分组方法或 trackbys 只会产生不同的错误,比如突然在下拉列表中引入 NaN en NULL,或者从 item-object 中完全删除 order 属性。
到目前为止,错误最少的解决方案是在我的选项中使用 ng-repeat。这只会导致 item.order 的类型不匹配。
现在,在广泛搜索之后,在 stackoverflow 上花费了几个小时(尤其是在用那个漂亮的小问题搜索东西写这个问题之前)我来找你。
如何停止/规避我的 item.order 从 INT 切换到 STRING 的行为?
如果那不可能,我怎么能强制我的 $index 是一个字符串,所以模型(字符串)匹配值(字符串)
如果那不可能,我该如何编写我的 ng-options 以获得我想要的行为?(我已经认真尝试了很多,从跟踪到不同的 as 和 for 语句,都导致了不同的错误)
在初始加载时,所有选择都显示选择了正确的值,因此所有 item.order 最初都是 INT (我从我们的 API 中获取它们),只有在交互之后,除了触发重新排序的对象之外的所有内容都被搞砸了。
angularjs - Angulars:链接的 ng-options
我有这个数据:
我想要一个用户选择:首先是一个动物,然后选择一个名称(过滤动物 ID)。 获取结果中的 id。
我想到了这个例子:
例如(选择猫和弗兰克):
我不知道第二个 ng-options 中放了什么代码。
在此示例中,有两个级别,n 级别会如何?
javascript - 为什么没有为指令中的 ng-options 设置空白选项
我正在尝试创建一个 AngularJS 指令来管理<select>
输入的提示。3种不同的模式如下:
- 不允许空白选项
- 这是默认行为
- 允许没有文本的空白选项
- 通过设置
allow-blank="true"
指令实现
- 通过设置
- 允许带有提示文本的空白选项
- 通过设置
allow-blank
为除"true"
- 通过设置
但是,空白选项永远不可用。
Plunker 上的演示
模板
指示
angularjs - Angularjs在远程加载时选择默认值
我正在尝试使用角度在 SELECT 元素中设置默认值,但它似乎不起作用。无论我做什么,当数据在控制器中远程加载时,它总是选择一个空白的默认元素
这是我的 HTML:
这是相关的控制器代码:
我意识到这个问题已经被问过很多次了,而且我已经阅读了所有其他问题,但是这些建议似乎都不起作用。如果有人有任何其他建议,请告诉我。
谢谢。
javascript - ngOptions 在我的选择元素中没有显示任何选项
我的一个选择元素中有 ngOptions 连接到我在控制器中创建的数组,它只是没有显示任何值。我一定是在做一些愚蠢的事情。
我确定 Angular 正在工作,并且控制器必须工作,因为我在同一个 div 中使用了与 ngModel 相关的表达式(使用同一个控制器)并且它工作正常。
这是我的 html 的相关片段:
<div class="container" ng-app="tagQuestionnaireApp"> <div class="tagger" ng-controller="taggingController"> <form class="form-horizontal" name="tagForm" role="form"> <!-- Categorize Your Tag --> <div class="form-group"> <label class="sub" for="categorize">Categorize</label> <select class="form-control" id="categorize" ng-model="category" ng-options="cat.text in cat of categories"></select> </div> </form> </div> </div>
这是我的 js 文件:
angularjs - AngularJS:在列表框中预选多个选项
我的标记如下所示:
我已经使用以下内容初始化了我的范围:
这一切都按照我想要的方式工作(汽车名称显示在列表框中,代码用作值)。当我从列表框中选择某些内容(甚至是多个值)时,$scope.model.SelectedCars
数组最终会填充每个选定汽车的代码(1d 字符串数组)。
我的问题是,为什么如果我手动将有效代码推送到$scope.model.SelectedCars
数组中,它是否不会反映在所选的 UI 控件中。这仅在使用ng-options
or时发生ng-repeat
,似乎如果我将选项硬编码到它确实有效。
服务器只会将我选择的汽车模型作为一维代码(字符串)数组提供。我宁愿保留 ng-model 的数据结构,这样我就可以在发布之前不做任何更改就将其发送出去。
任何帮助表示赞赏!
angularjs - 我的数据结构是否应归咎于多选下拉菜单在 Angular 中不起作用?
我正在尝试创建一个多选下拉菜单。
我看到我可以使用该ng-options
指令基本上比较两个数据集,将任何匹配选项设置为selected
.
这是我拥有的两个系列:
我尝试用于标记的内容:
使用该标记,我最终为每个 SendType(To、CC、BCC)创建了一个 .form-group。在每一个中,我都有正确的标签显示(sendType.Value)。多选显示并为地址簿中的每个条目重复一个选项。它也正确排序。不幸的是,没有选择任何内容。
做一些研究ng-options
,似乎我的selected
集合可能需要是一个字符串数组而不是一个对象数组。真的吗?
奇怪的是,如果我手动选择一些收件人,模型会按应有的方式更新:
非常感谢您对此的任何帮助。目前它把我拖到了最后期限之后。如果有人想要小提琴之类的,请告诉我。再次感谢!