标签: angularjs-ng-options

Angular.js ng-option使用keypress选择

我有一个<select>填充的通道ng-options.在特定情况下,当有序模型列表中的两个值相邻且值具有相同的第一个字母时,以角度中断更新模型值.这可能是一个浏览器事件问题,但我不确定.

这个plunker显示了这个问题,这个GIF说明了这一点.

我已经尝试change在没有任何运气的情况下手动触发该字段上的事件.如果可能,我们希望按字母顺序保留列表 - 更改顺序似乎可以解决问题.

该问题仅出现在Chrome中 - 我使用的是版本43.0.2357.81(64位).

任何想法,将不胜感激.谢谢.

javascript google-chrome angularjs ng-options angularjs-ng-options

8
推荐指数
1
解决办法
1029
查看次数

如何按键对ng-options中的数组进行排序?

有这样的数组:

month: Array[13]0: "M"1: "January"2: "February"3: "March"4: "April"5: "May"6: "June"7: "July"8: "August"9: "September"10: "October"11: "November"12: "December"
Run Code Online (Sandbox Code Playgroud)

我做:

ng-options="key as value for (key, value) in data.month | orderBy:key"
Run Code Online (Sandbox Code Playgroud)

但我得到未分类的选择列表.

javascript select angularjs angularjs-filter angularjs-ng-options

8
推荐指数
1
解决办法
2万
查看次数

angularjs选择没有ng-options或静态选项

如何在angularjs中使用静态选择.

我想创建一个带有statc值的change事件的选择模型.

<form ng-controller="mycontroller">
    <select class="form-control"  name='modelid' ng-model="modelid"  ng-change="modelidchange">
        <option value="-1">select </option>       
        <option value='4'>Static text 4</option>
        <option value='1'>Static text 1</option>
        <option value='2'>Static text 2</option>                 
    </select>
</form>
Run Code Online (Sandbox Code Playgroud)

我的控制器:

angular.module('app').controller('chapter',function($scope,$http) {
    console.log('ok')
    $scope.id = modelid
    alert($scope.id)
});
Run Code Online (Sandbox Code Playgroud)

我只想获得de model值,但是这个错误:

Error: ngOptions:iexp
Invalid Expression
Run Code Online (Sandbox Code Playgroud)

我不使用NG-OPTIONS只是静态选择.

有人能帮助我吗?

angularjs angularjs-ng-options

7
推荐指数
1
解决办法
8971
查看次数

过滤掉select选项后,Angular模型无法更新

试图找出当绑定的选定选项不再存在时模型不更新的原因.我希望模型的属性更新为undefined/null/empty字符串.

情况:一个select驱动另一个select使用过滤器.选择完成后,转到原始select选项并选择其他选项.Filter将按select预期删除第二个选项,但第二个选项的model属性select将保持不变.

问题:当你去传递模型时,它将填充坏/先前的值.此外,使用Angular验证,select需要......表单在技术上是"有效的",因为模型具有属性的值(先前的值).

HTML:

<select name="Category" ng-model="selectedCategory" 
       ng-options="item.name as item.name for item in categories">
   <option value="">All Categories</option>
</select>

<select name="SubCategory" ng-model="selectedSubCategory" 
       ng-options="item.name as item.subCategory for item in categories | filter:selectedCategory">
  <option value="">All SubCategories</option>
</select>
Run Code Online (Sandbox Code Playgroud)

模型:

app.controller('MainCtrl', function($scope) {
   $scope.categories = [{
      "id": "1",
      "name": "Truck",
      "subCategory": "Telescope"
   }, {
      "id": "2",
      "name": "Truck",
      "subCategory": "Hazmat"
   }, {
      "id": "3",
      "name": "Van",
      "subCategory": "Mini"
   }];
});
Run Code Online (Sandbox Code Playgroud)

我相当肯定我可以将ng-change功能绑定到第一个以强制它更新模型,但是有更好的方法吗? …

javascript angularjs angularjs-ng-change angularjs-ng-options

6
推荐指数
1
解决办法
926
查看次数

Angularjs Dropdown OnChange选定的文本和值

我是新手,AngularJS并试图从中获取选定的文本和值Dropdown.我跟着很多教程仍然无法到达那里.SelectedValue并且SelectedText永远undefined.以下是我的代码:

HTML:

<div ng-app="SelectApp">
<div ng-controller="selectController">
    <select name="category-group" id="categoryGroup" class="form-control" ng-model="itemSelected" ng-change="onCategoryChange(itemSelected)">
        <option value="0">Select a category...</option>
        <option ng-repeat="category in categories" value="{{category.id}}"
             ng-disabled="category.disabled" ng-class="{'mainCategory' : category.disabled}">
             {{category.name}}
        </option>
     </select>
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

'use strict';
var app = angular.module('SelectApp', [ ]);
app.controller('selectController', ['$scope', '$window', function ($scope, $window) {

$scope.categories = [       
   { id: 1, name: "- Vehicles -", disabled: true },
   { id: 2, name: "Cars" },
   { id: 3, name: "Commercial vehicles", …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery angularjs angularjs-ng-options

6
推荐指数
2
解决办法
7万
查看次数

为什么Angular ng-options值包含值数据类型?

我使用了angular指令ng-options后的人得到了这个结果

<select name="users" id="users" ng-options="user.id as user.name for user in users" ng-model="user">
    <option value="number:1" label="Developers">Ahmed</option>
    <option value="number:2" label="Designers">Jon</option>
    <option value="number:3" label="HR">Astm</option>
    <option value="number:4" label="Doctor">Fady</option>
</select>


<select name="colors" id="colors" ng-options="color.code as color.name for color in colors" ng-model="color">
    <option value="string:ff0000" label="Developers">Red</option>
    <option value="string:ffffff" label="Designers">White</option>
    <option value="string:000000" label="HR">Black</option>
</select>
Run Code Online (Sandbox Code Playgroud)

为什么选项值包含数字类型,如 数字:1字符串:ffffff ??

我如何从中删除数据类型并仅保留值?

angularjs angularjs-directive angularjs-ng-options

6
推荐指数
2
解决办法
3702
查看次数

ng-options选择列表值设置为我选择的id并使用ng-model正确绑定它

使用angular我想创建一个选择列表,其值带有我选择的id(对象的实际id属性),我想用ng-model指令正确绑定它.

这是我尝试过的:

<select ng-model="selectedPersonId"                 
ng-options="p.id as p.name for p in People track by p.id"></select>

$scope.People = [
    { name : "Fred", id : 1 },
    { name : "Joe", id : 2 },
    { name : "Sandra", id : 3 },
    { name : "Kacey", id : 4 },
    { name : "Bart", id : 5 }
];

$scope.setTo1 = function(){
    $scope.selectedPersonId = 1;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/b7dyadnr/

这里选择选项值是正确的值(值是人的人的id),文本是正确的.但绑定不起作用,所以如果我设置$ scope.selectedPersonId的值,选择不会反映在列表中.

我知道我可以让它像这样工作:

<select ng-model="selectedPersonId"                 
ng-options="p.id as p.name for p in People"></select>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/rgtbn2f5/

它工作我可以设置$ …

javascript selectlist angularjs angularjs-ng-options

5
推荐指数
1
解决办法
6188
查看次数

Angular JS - 获取选择控件的选定文本

我已按照以下链接解决问题,但它不起作用: 如何使用AngularJS获取选项文本值?

我有一个包含一组服务器的下拉列表.当我从下拉列表中选择一个值时,我希望所选值显示在一个单独的div中.这是我做的:

选择控制:

 <select name="source" class="form-control input-sm"
                        ng-model="filterOptions.hostId"
                        ng-options="s.id as s.hostName for s in physicalServerList"
                        ng-style="{'width':'100%'}">
                </select>
Run Code Online (Sandbox Code Playgroud)

显示所选文本:

<span class="pull-left">Source: {{ filterOptions.hostId.hostName }}</span>
Run Code Online (Sandbox Code Playgroud)

但是,这不会显示所选文本.我究竟做错了什么?

angularjs angularjs-ng-options angularjs-ng-model

5
推荐指数
1
解决办法
3万
查看次数

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

我的范围内有一个对象数组,我将它们列在下面的下拉控件中.

 <select ng-model="selectedItem" ng-options="product.ID as product.Name for product in products">
     <option value="">Please select a product...</option>
 </select>
Run Code Online (Sandbox Code Playgroud)

我还希望将selectedItem作为对象来获取对象的其他属性,以便我可以在页面中进行内容管理.例如;

<a ng-show="selectedItem.isAvailable">Buy Now!</a>
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个?谢谢.

angularjs angularjs-ng-options angularjs-ng-model

5
推荐指数
1
解决办法
1万
查看次数

来自具有对象的对象的AngularJS ng-options

我试图将我的数据显示在列表中,如下所示:

<option value="4351">Atlanta</option>
Run Code Online (Sandbox Code Playgroud)

这是我的目标.

$scope.cityList = {
    4351:{name:"Atlanta", short="atlanta"},
    7355:{name:"Baltimore", short="baltimore"},
    1212:{name:"Chicago", short="chicago"},
    4398:{name:"Dallas", short="dallas"}
};
Run Code Online (Sandbox Code Playgroud)

HTML
只使用键值对,但现在"值"是一个对象

<select class="select-city" ng-model="myCity" ng-options="name for (city, name) in cityList"></select>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:
在这种情况下如何填充ng-options?

object angularjs ng-options angularjs-ng-options

5
推荐指数
1
解决办法
3822
查看次数