问题标签 [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 添加静态选项
我正在使用 ng-options 在我的 Angular 应用程序中打印表单的所有选项。我直接从我的数据库中获取值,它给了我一个国家列表:
在这里,当页面加载时,选择不显示任何内容,即没有占位符,而我想打印一个像“任何地方”这样的静态值,而不必将它添加到我的“国家”列表中。
我试过这个:
但它不工作
有谁知道如何解决这个问题?
谢谢
javascript - AngularJs - ajax调用后ng-options不绑定
我尝试在 ajax 调用后更改 ng-options 的选定索引,但它不会改变。
这是我的 API 发送的数据。
怎么了?如何自动更改 ng-options 中的选择?
angularjs - Angular 选择 ng-options 地狱
我正在努力理解ngOptions的文档
我有一个简单的数组:['code1' , 'code2']
我只想迭代并构造选项值和标签,如下所示:
我的期望:
我试过的:
我得到什么:
看到值不是我想要的。我测试了文档的几乎所有可能的语法,但没有成功。
ps:我已经简化了代码,但是我使用 angular-translate 来翻译接收到的代码并将该翻译放在选项标签中。
JsFiddle:http: //jsfiddle.net/3ekAj/
angularjs - 在具有重复值的对象上使用 ng-options - angularjs
我正在为我使用一个对象ng-options
:
请注意,选项 1-3 具有相同的值1
将此select
元素与ng-options
指令一起使用
我无法选择选项 1 和 2。
更奇怪的是,使用键盘我可以选择选项 1 和 2,但是当用鼠标选择时,选择会自动跳转到选项 3(猜测这是因为它是最后一个带有 value 的选项1
)。
我尝试了不同的ng-options
表达方式,但似乎都不起作用
注意:k
总是唯一的
javascript - 带有密钥对对象数组的 ng-options
我有以下从第三方获得的数据:
数据的组织方式不是我会做的,但现在我需要将所有这些都放在带有 ng-options 的选择中,以便显示的值和选项都是国家/地区的全名
我已经尝试过ng-options="code as name for (code, name) in countries"
,但我得到一个对象作为我的选择值。
angularjs - 使用 angularjs 中的选择框(选定的索引和默认选项)
我是角度的新手。我曾经有一个使用以下内容填充的选择框ng:repeat
:
它生成的 HTML 如下所示:
我有一个运行在ng-click
:
该函数的第二行获取了在属性{{$index}}
中设置的值。ng:repeat value
(因此,在这种情况下为 0 或 1。)
最近有人告诉我,您不应该使用它ng:repeat
来填充选择框。你应该使用它ng-options
。所以我将我的选择框更新为:
这是生成的 HTML:
本质上是一样的,尤其是期权价值。但是我现在在更改时遇到错误,说address is undefined
. 因此,出于某种原因,$scope.address_dropdown[$scope.selectedAddress];
即使无论代码如何生成,实际索引值都是相同的,也不再适用于在更改时获取下拉列表的选定索引值。
任何人都可以解释为什么会这样,以及如何获得填充的选择框的选定索引值ng-options
?我是否还可以回答为什么我在第二组代码(下面重复)中设置的默认选定选项的文本最终显示为空白?
代码:添加新地址
渲染:
angularjs - angularjs - 添加多个硬编码选项以使用 ng-options 选择框
我有一个填充有ng-options
. 我知道您可以手动添加默认选项,如下所示:
有没有办法(角度)添加多个选项?客户端现在想要第一个默认选项说“从地址中选择”,并且在列表中的所有填充选项之后,上面显示的“添加新地址”选项是列表中的最后一个选项ng-options
。
(我知道我可以使用 jQuery 来添加该选项,但如果可能的话,我宁愿保持所有角度。)
angularjs - AngularJS - 将 ng-options 连接到属性中命名的对象
我正在研究表单生成器实现,我想让 ng-options 评估当前“字段”的属性并返回选择的“选项”,如 $scope.options 中列出的。
这意味着我可以在我的控制器中设置包含对象的“选项”,并让表单元素使用正确的对象来填充下拉列表。
我的表单是从关系数据库构建的,因此对目标对象进行硬编码无济于事(虽然它确实有效,但它只是不可扩展)
我一直在弄清楚如何让 ng-options 评估一个表达式,从而从变量跳转到对象名称。
也许有更好的方法可以完全做到这一点?
<select id="{{field.Name}}" ng-model="field.Value"ng-options="option.ID as option.Value for option in [SOMETHING THAT EVALUATES TO AN OBJECT NAMED IN THE BINDING PROPERTY]" ng-required="field.Required"></select>
我在这里有一个小提琴:JSFiddle
javascript - 使用箭头键盘而不是鼠标时,ng-options 模型未更新
我创建了 js 小提琴:小提琴
我创建了一个包含一些 ng-options 的表单,当您使用按钮而不是鼠标时它会出现奇怪的行为(只需单击文本框并按“tab”,您可以使用箭头键选择它)。
Javascript:
当您在 First try 中选择第一个选项时,ng-model 不会更新。
出了什么问题,以及如何解决这个问题?
正如下面评论中提到的,要重现,请在文本字段中输入鼠标,将选项卡输入到组合框,然后尝试使用键盘选择第二个选项(Thriller)。这将在第一次尝试时失败,一旦选择了第三个或第一个选项,第二个选项也会被识别。
javascript - 在 AngularJS 中使用 Promise 调用多个资源
我正在开发一个简单的 AngularJS 应用程序,它对用户进行身份验证并显示与用户关联的事务列表。此外,还有一个下拉菜单允许用户按年份过滤交易。组合框模型是我通过 AngularJS 资源从我的 API 中检索的值数组,但只有在我检索到当前用户之后。这是代码:
尽管我今天学习了 Promise,也许我误解了一些东西,但这段代码看起来很简单。
问题是,当我尝试分配currentYear
的第一个元素时timefilters.years
,分配失败,因为数组仍然是空的,即使它不应该是,因为我试图在.then
函数中分配。结果是下拉列表中填充了年份,但没有选择年份。
我在这里误会了什么?
顺便说一句,资源调用返回预期的数据,所以这不是问题。
编辑:就在发布后,我将第一个返回语句更改then
为:
现在它可以正常工作了。但我认为 $resource.get 是为了返回一个承诺。我真的很困惑。有人可以澄清一下吗?