angularjs xeditable - 使用$ http.get的动态数据在editable-select中显示预选值
问题描述:
为什么Group-Row是空的,当我按下Edit按钮时? 当编辑模式处于可见下拉菜单时,我希望列表中有相同的值。
我该如何解决这个问题?
请检查该工作守则:
这里是我的plnkr
var app = angular.module("employment", ["xeditable"]);
\t
\t app.run(function(editableOptions) {
\t editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
\t });
\t app.controller('EditableRowCtrl', function($scope, $filter, $http)
\t {
\t \t
\t \t $scope.users = [];
\t \t $http.get('userdata.json').success(function(data){
\t \t \t $scope.users = data;
\t \t });
\t \t $scope.statuses = [
\t \t {value: 1, text: 'aktiv'},
\t \t {value: 2, text: 'inaktiv'}
\t \t ];
\t \t $scope.groups = [
\t \t {id: 1, text: 'Administrator'},
\t \t {id: 2, text: 'SuperUSer'},
\t \t {id: 3, text: 'Mitglied'},
\t \t ]; \t \t
\t \t
\t \t $scope.showGroup = function(user) {
\t \t if(user.group && $scope.groups.length) {
\t \t var selected = $filter('filter')($scope.groups, {id: user.group});
\t \t return selected.length ? selected[0].text : 'Not set';
\t \t } else {
\t \t return user.groupName || 'Not set';
\t \t }
\t \t };
\t \t $scope.showStatus = function(user) {
\t \t var selected = [];
\t \t if(user.status) {
\t \t selected = $filter('filter')($scope.statuses, {value: user.status});
\t \t }
\t \t return selected.length ? selected[0].text : 'Not set';
\t \t };
\t \t // remove user
\t \t $scope.removeUser = function(index) {
\t \t $scope.users.splice(index, 1);
\t \t };
\t \t // add user
\t \t $scope.addUser = function() {
\t \t $scope.inserted = {
\t \t id: $scope.users.length+1,
\t \t name: '',
\t \t status: null,
\t \t group: null
\t \t };
\t \t $scope.users.push($scope.inserted);
\t \t };
\t });
答
@ M1ke,我不千牛如果你还在研究这个问题我刚看到这个问题。问题在于,您的状态和组代码在userdata.json中定义为字符串,在状态和组对象中定义为整数。我只是将它们更改为用户数据中的整数,它像魅力一样工作。
请在这里附上代码,因为它会永远活着。 – Kenneth