相关疑难解决方法(0)

为什么AngularJS在select中包含一个空选项?

我在过去几周一直在使用AngularJS,而真正困扰我的一件事是,即使在尝试了所有排列或http://docs.angularjs.org/api/ng规范中定义的配置之后.directive:select,我仍然得到一个空选项作为select元素的第一个子元素.

这是玉:

select.span9(ng-model='form.type', required, ng-options='option.value as option.name for option in typeOptions');
Run Code Online (Sandbox Code Playgroud)

在这里控制器:

$scope.typeOptions = [
    { name: 'Feature', value: 'feature' },
    { name: 'Bug', value: 'bug' },
    { name: 'Enhancement', value: 'enhancement' }
];
Run Code Online (Sandbox Code Playgroud)

最后,这是生成的HTML:

<select ng-model="form.type" required="required" ng-options="option.value as option.name for option in typeOptions" class="span9 ng-pristine ng-invalid ng-invalid-required">
    <option value="?" selected="selected"></option>
    <option value="0">Feature</option>
    <option value="1">Bug</option>
    <option value="2">Enhancement</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我需要做些什么才能摆脱它?

PS:事情也没有这个,但如果你使用select2而没有多重选择,它看起来很奇怪.

angularjs

644
推荐指数
9
解决办法
40万
查看次数

使用AngularJS和ng-repeat初始化选择

我正试图让选择框从使用Ang-repeat和AngularJS 1.1.5的预填充选项开始.相反,选择始终从未选择任何内容开始.它也有一个空选项,我不想要.我认为没有被选中的副作用.

我可以使用ng-options而不是ng-repeat来使用它,但我想在这种情况下使用ng-repeat.虽然我的缩小示例没有显示,但我也想设置每个选项的title属性,据我所知,使用ng-options无法做到这一点.

我不认为这与常见的AngularJs范围/原型继承问题有关.至少我在Batarang检查时没有看到任何明显的东西.此外,当您使用UI选择选项中的选项时,模型会更新正确.

这是HTML:

<body ng-app ng-controller="AppCtrl">
    <div>
        Operator is: {{filterCondition.operator}}
    </div>
    <select ng-model="filterCondition.operator">
       <option 
           ng-repeat="operator in operators" 
           value="{{operator.value}}"
       >
           {{operator.displayName}}
       </option>
    </select>
</body>
Run Code Online (Sandbox Code Playgroud)

和JavaScript:

function AppCtrl($scope) {

    $scope.filterCondition={
        operator: 'eq'
    }

    $scope.operators = [
        {value: 'eq', displayName: 'equals'},
        {value: 'neq', displayName: 'not equal'}
     ]
}
Run Code Online (Sandbox Code Playgroud)

JS小提琴:http://jsfiddle.net/coverbeck/FxM3B/2/

javascript angularjs

132
推荐指数
4
解决办法
24万
查看次数

Angular,使用select输入过滤器来更新路由?

我已经设置了我的应用程序,其中可以使用选择输入按颜色过滤产品列表,$routeprovider如果它存在于URL中,我也将该颜色参数传递给页面.

我现在要做的是更改选择框时更新URL /路由.如何将选择的更改绑定到路由?

angularjs ngroute

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

Angularjs绑定选择的默认值

可能重复:
如何对AngularJS生成的选择列表进行预选?

在角度教程中,他们设置了一个sortOrder范围变量,默认排序选择为"最新".

在我的小提琴我做的相似但我的选择值没有被选中.相反,我得到空白条目,好像我没有在范围中设置任何值.然而,我可以看到我的排序顺序,我发出了选择的值,它是预设的.

    //set a default this way also, but not updating the dropdown
$scope.ddlFilter = {
    name: "All Open Events",//doesn't matter what this is, only cares about value
    value: "ALL"//"OPEN"
};
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用ng-init设置默认值,但我希望能够这样做.有什么建议?

combobox angularjs

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

AngularJS选择预选不起作用

即使对象相等,预选在选择字段中也不起作用:

<select ng-show="isEditMode(todo.id)" id="assignee" name="assignee" 
        ng-model="todo.assignee" required 
        ng-options="user.name for user in users">
</select>
Run Code Online (Sandbox Code Playgroud)

todo.assignee包含一个用户对象,该对象应与用户匹配.

似乎Angular无法识别来自todo.assignee的User对象包含在用户中.我可以手动执行此映射吗?

显示选择时未选择任何值.我可以选择一个用户(来自用户)并保存记录没有任何问题.

调节器

$scope.todos = Todo.query();
$scope.users = User.query();
Run Code Online (Sandbox Code Playgroud)

更新

按照评论中的要求.给定对象的结构: $ scope.todos

 [
{
    "id": 157,
    "description": "my description 0",
    "deadline": 1392073200000,
    "assignee": {
        "id": 34,
        "name": "User 1",
        "email": "user1@hotmail.com"
    },
    "comment": "my comment 0",
    "done": true
}
...
]
Run Code Online (Sandbox Code Playgroud)

$ scope.users

[
{
    "id": 34,
    "name": "User 1",
    "email": "user1@hotmail.com"
},
{
    "id": 35,
    "name": "User 2",
    "email": "xxc@gmail.com"
},
{
    "id": 36, …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

0
推荐指数
1
解决办法
7273
查看次数

标签 统计

angularjs ×5

javascript ×2

combobox ×1

ngroute ×1