Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度ui网格:具有多个选择的下拉列表_Angularjs_Angular Ui Grid - Fatal编程技术网

Angularjs 角度ui网格:具有多个选择的下拉列表

Angularjs 角度ui网格:具有多个选择的下拉列表,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,我试图在anguler ui网格中使用多个选择,但出现错误: TypeError:value.forEach不是函数 at writengoptions多重[as writeValue](angular.js:26579) 在ngModelCtrl.$render(angular.js:28680) 在Object.ngModelWatch(angular.js:25493) 范围$digest(angular.js:15888) 在angular.js:16091 在CompleteOutst

我试图在anguler ui网格中使用多个选择,但出现错误:

TypeError:value.forEach不是函数 at writengoptions多重[as writeValue](angular.js:26579) 在ngModelCtrl.$render(angular.js:28680) 在Object.ngModelWatch(angular.js:25493) 范围$digest(angular.js:15888) 在angular.js:16091 在CompleteOutstanding请求时(angular.js:5552) 在angular.js:5829(匿名函数)@angular.js:12520(匿名函数)@angular.js:9292Scope.$digest@ angular.js:15914(匿名函数)@ angular.js:16091completeOutstandingRequest@angular.js:5552(匿名) 函数)@angular.js:5829

代码如下:与官方模板相比,唯一的变化是下拉模板
tpl

var app = angular.module('app', ['ngTouch', 'ui.grid',  'ui.grid.edit']);

app.controller('MainCtrl', ['$scope', function ($scope) {

  var myData = [
    {
        "firstName": "Cox",
        "lastName": "Carney",
        "employed": true
    },
    {
        "firstName": "Lorraine",
        "lastName": "Wise",
        "employed": false
    },
    {
        "firstName": "Nancy",
        "lastName": "Waters",
        "employed": false
    }
];

var dropDownArray = [
      { id: 'Gabi', firstName: 'Gabi' },
      { id: 'Gabriel', firstName: 'Gabriel' }];


$scope.msg = "hello shit";

var tpl = '<div>\
  <form\
    name="inputForm">\
    <select multiple\
      ng-class="\'colt\' + col.uid"\
      ui-grid-edit-dropdown\
      ng-model="MODEL_COL_FIELD"\
      ng-options="field[editDropdownIdLabel] as field[editDropdownValueLabel] CUSTOM_FILTERS for field in editDropdownOptionsArray">\
    </select>\
  </form>\
</div>';

$scope.gridOptions = { data: myData,                        
                       columnDefs: [{ field: 'firstName', displayName: 'First Name', width: 190,  
                                        editableCellTemplate: tpl, 
                                        editDropdownValueLabel: 'firstName',
                                        editDropdownOptionsArray: dropDownArray },
                                    { field: 'lastName', displayName: 'Last Name', width: 180 },                                    
                                    { field: 'employed', displayName: 'employed?', width: 180 }]}
}]);
var-app=angular.module('app',['ngTouch','ui.grid','ui.grid.edit']);
app.controller('MainCtrl',['$scope',函数($scope){
var myData=[
{
“名字”:“考克斯”,
“姓氏”:“卡尼”,
“雇佣”:正确
},
{
“名字”:“洛林”,
“lastName”:“Wise”,
“受雇”:假
},
{
“名字”:“南希”,
“lastName”:“Waters”,
“受雇”:假
}
];
变量下拉数组=[
{id:'Gabi',名字:'Gabi'},
{id:'Gabriel',名字:'Gabriel'}];
$scope.msg=“你好,狗屎”;
增值税\
\
\
\
\
';
$scope.gridOptions={data:myData,
columnDefs:[{字段:'firstName',显示名称:'firstName',宽度:190,
editableCellTemplate:tpl,
editDropdownValueLabel:“firstName”,
EditDropDownOptionArray:dropDownArray},
{字段:'lastName',显示名称:'lastName',宽度:180},
{字段:'employed',显示名称:'employed?',宽度:180}]}
}]);

我遇到了同样的问题-一个棘手的问题,因为它适用于angular 1.2,但不适用于1.4。 我的解决方案是,初始字段值必须是数组,而不是字符串。 因此,您的数据必须如下所示:

  var myData = [
    {
        "firstName": ["Cox"],
        "lastName": "Carney",
        "employed": true
    },
    {
        "firstName": ["Lorraine"],
        "lastName": "Wise",
        "employed": false
    },
    {
        "firstName": ["Nancy"],
        "lastName": "Waters",
        "employed": false
    }
];

错误应该会消失。

这项功能正常吗?