javascript - 无法将数据绑定(bind)到angularjs中的下拉多选

标签 javascript angularjs

请检查plunker。我无法像这样绑定(bind)来自服务器的数据(["Monday","Tuesday"])

我知道数据是绑定(bind)的

$scope.selectedUser = [{ id: 2, name: 'Monday' },
                       {id: 3,name:'Tuesday'}];.

我想将 ["Monday","Tuesday"] 设为 [{ id: 2, name: 'Monday' },{id: 3,name:'Tuesday' }] 在 javascript 中,以便它可以在下拉列表中绑定(bind)。

请帮我解决这个问题。

demo plunker

最佳答案

//This is the ng filter to create id as you get the data from server 
app.filter('createId',function(){
    return function(arr){
        var result = [];
        for(var i = 0;i < arr.length;i++){
            var id = arr[i].substring(0,3);
            var obj = {'id':id,'name':arr[i]};
            result.push(obj);
        }
        return result;
    }
});

//In js controller you can costomize your array of user by using ng-filter like this
$scope.users = $filter('createId')($scope.users);
//This is because index will be changed every time so this can't be used as ID
$scope.selectedUser = $filter('createId')($scope.selectedUser);

关于javascript - 无法将数据绑定(bind)到angularjs中的下拉多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38259758/

相关文章:

javascript - 合并多个 Ng-repeats

javascript - Div 样式未定义(Javascript)

javascript - 如何在嵌套的 .each()(s) 中正确使用 "this"? (JQuery)

javascript - 通过使用 javascript 比较另一个数组中是否存在 ID 来创建一个新数组

javascript - 每次测试后重置服务对象

javascript - 现代 JavaScript 应用程序中的服务器设置

javascript - 使用 Controller 初始化 Angular 服务的正确方法

asp.net - Angular.js 从 ASP.NET Controller 简单获取对象

javascript - d3.js 处理非 svg 浏览器

javascript - 如何从 meteor shell 将任何内容记录到控制台?