combobox - Angularjs 绑定(bind)选择的默认值

标签 combobox angularjs

Possible Duplicate:
How to make a preselection for a select list generated by AngularJS?

在 Angular 教程中,他们设置了一个 sortOrder 范围变量,该变量默认选择“最新”排序。

在我的fiddle我正在做类似的事情,但我的选择值没有被选择。相反,我得到空白条目,就好像我没有在范围中设置任何值一样。但我可以看到我的排序顺序,并且我正在发出选择的值并且它是预设的。

    //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"
};

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

最佳答案

尝试使用对象而不是对象数组。它将允许您通过字符串与数组位置(例如 scope.eventFilters[0])来引用您想要的内容。

$scope.eventFilters = {
    "OPEN": "All Open Events",
    "UNMAPPED": "All Un-Mapped Events",
    "MAPPED": "All Mapped Events",
    "CLOSED": "All Closed Events (past 8 hours)",
    "ALL": "All Events",
    "OTHER": "Other OpCenter Open Events"
};

然后将默认值定义为字符串(上面对象的键):

$scope.ddlFilter = "MAPPED";

然后在页面上将您的选择更改为

<select ng-model="ddlFilter" ng-options="k as v for (k, v) in eventFilters"></select>

并且您的过滤器不再需要 .value,因此它将变为:

<tr ng:repeat="event in events  | myEventFilter:ddlFilter | orderBy:sort.column:sort.descending">

在此处查看修改后的代码:http://jsfiddle.net/WXLte/2/

关于combobox - Angularjs 绑定(bind)选择的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14617705/

相关文章:

angularjs - 单个 rest 'put' 端点是否足以用嵌套数组更新文档?

javascript - 从 Jquery/Javascript 调用 Controller 内部的 Angular 函数

python - django 和 angularjs 的最佳项目结构

javascript - HTML 选择组合框项时打开 html 文件

php - 如何将从 MySQL 获取的数据以 JSON 形式返回到 php 文件中?

javascript - AngularJS 中的 $scope 错误

angularjs - 停止 Angular-auto-validate 插件的样式验证

c# - 带有 'New...' 项的数据绑定(bind) WPF ComboBox

image - Javafx ComboBox 选择后项目消失

php - 将组合框中的所选项目设置为 "please select..."